Skip to main content

 

 

 

 

Template:OutSystems/Documentation_KB/Breadcrumb_New_Layout

 

 

Template:OutSystems/OSLanguageSwitcher

 

 

 

OutSystems

ログデータ用に別のデータベースを構成する

This article applies to:OutSystems 11

ログデータ用に別のデータベースを構成し、この構成変更を既存のOutSystemsアプリケーションに適用するプロセスについて説明しています。

はじめに

  • このプロセスは任意です。
  • アプリケーションにその構成が再適用されると、新しいログデータベースのみにデータをロギングするようになります。
  • 既存のログデータにはアクセスできなくなります。ただし、既存のログデータを新しいデータベーステーブルに明示的にコピーした場合はアクセスできます(「任意のタスク」セクションを参照)。

SQL Server

SQL Serverを使用している場合は、Configuration Toolでログデータベースを作成して構成し、Service Centerのすべての開発インフラモジュールに変更を適用する必要があります。

以下の手順を実行します。

  1. Configuration Toolで[Log]タブを開き、[Server]フィールドと[Database]フィールドに入力します。

    [Server]は、データベースサーバーのホスト名またはIPアドレス、もしくはインスタンスまたはTCPポート(該当する場合)です。
    [Database]は、Logging Databaseモデルの保存先となるデータベースカタログの名前です。

  2. [Administrator]セクションの[User]フィールドと[Password]フィールドに入力します。

  3. [Runtime]セクションの[User]フィールドと[Password]フィールドに入力します。

  4. [Grant Permissions]をクリックして、データベースカタログ、ユーザー、および権限を作成します。

  5. [Create/Upgrade Database]ボタンをクリックして、ログデータベースのスキーマを作成します。

  6. Configuration Toolで、[Apply and Exit]をクリックします。Service Centerのインストールを実行するかどうかをたずねるポップアップで、[Yes]をクリックします。

  7. Service Centerで、[Factory > Solutions]に移動します。

  8. すべての開発インフラモジュールを含む既存のソリューションを選択するか、新規のソリューションを作成してそのソリューションに既存のモジュールをすべて追加します。

  9. ソリューションの詳細画面で、[Apply Settings]をクリックして新しいログデータベースの設定をすべてのモジュールに適用します。

Oracle

Oracleを使用している場合は、OutSystemsから提供されるSQLスクリプトを使用してログデータベースオブジェクトを作成した後、Configuration Toolでログデータベースを構成し、Service Centerのすべての開発インフラモジュールに変更を適用する必要があります。

以下の手順を実行します。

  1. デプロイメントコントローラマシンのOutSystems Platform ServerのインストールディレクトリにあるSQLデータベース作成スクリプトを実行します。db\logging_creation_oracle.sql.
    このスクリプトの実行にあたっては、ご利用のデータベース環境に適した方法をデータベース管理者に確認してください。

    このSQLスクリプトには、ユーザーとテーブルスペースを作成し、ログデータベースに必要な権限を付与する手順が含まれています。

    デフォルトでは、このファイルを実行すると以下のオブジェクトが作成されます。

    • ユーザー: OSADMIN_LOG, OSRUNTIME_LOG(それぞれAdministratorロール、Runtimeロールに対応)
    • テーブルスペース: OSSYS_LOGOSIDX_LOGOSUSR_LOG
    • OSADMIN_LOGユーザーへの許可: Create Session(セッションの作成)、Create View(ビューの作成)、Create Table(テーブルの作成)、Alter Session(セッションの変更)、Create Sequence(シーケンスの作成)、Create Procedure(プロシージャの作成)、Create Trigger(トリガーの作成)
    • OSRUNTIME_LOGユーザーへの許可: Create Session(セッションの作成)

    このスクリプトはカスタマイズできますが、ファイルパス、テーブルスペース、ユーザーがデータベースの既存オブジェクトと衝突しないようにしてください。いずれかのデフォルト設定を変更した場合は、ファイル全体の出現箇所をすべて置き換えるようにしてください。

  2. Configuration Toolで[Log]タブを開き、[Database]セクションを構成して使用するOracleデータベースを設定します。
    こうした構成の詳細については、[Naming Method]フィールドの近くにある[More info]リンクをクリックします。

  3. 手順1でロギングのAdministratorロールに対して定義したデータベースのログイン、データベースのパスワード、ロギングテーブルスペース、インデックステーブルスペースを使用して、[Administrator]セクションの各フィールドに入力します。

  4. 手順1でロギングのRuntimeロールに対して作成したデータベースのログイン、データベースのパスワード、ランタイムテーブルスペースを使用して、[Runtime]セクションの各フィールドに入力します。

  5. 構成したユーザーごとに[Test Connection]をクリックして、すべての構成が正しく入力されたことを確認します。

  6. [Create/Upgrade Database]をクリックして、ログデータベースのスキーマを作成します。

  7. Configuration Toolで、[Apply and Exit]をクリックします。Service Centerのインストールを実行するかどうかをたずねるポップアップで、[Yes]をクリックします。

  8. Service Centerで、[Factory > Solutions]に移動します。

  9. すべての開発インフラモジュールを含む既存のソリューションを選択するか、新規のソリューションを作成してそのソリューションに既存のモジュールをすべて追加します。

  10. ソリューションの詳細画面で、[Apply Settings]をクリックして新しいログデータベースの設定をすべてのモジュールに適用します。

上記の手順が完了すると、OutSystemsアプリケーションは新しいログデータベースの使用を開始します。新しく構成したデータベースに新しいログレコードが正しく書き込まれることを検証する必要があります。そのためには、様々なログタイプ(画面ログ、モバイルリクエスト、連携など)をすべてテストします。

任意のタスク

すべてが正常に動作することを検証した後は、以下のようなデータベースレベルのタスクを実行できます。

古いログデータを新しいデータベースやテーブルにコピーする
別のログデータベースを構成した後は、既存のログデータにアクセスできなくなります。古いログ情報を新しいデータベースにコピーすることで、アプリケーションでは、既存のログデータを新しい場所で確認できるようになます。
プラットフォームデータベースから古いログテーブルを削除する
古いログテーブル(名前がOSLOG_で始まるもの)は、プラットフォームがログデータに適用するどの保守メカニズムの対象にもなりません。そのため、(ディスク領域の多くを占めることがある)古いログデータはプラットフォームデータベースに残ってしまいます。こうした古いログテーブルを削除することで、かなりのデータベース領域を解放できます。

このような操作は推奨されていますが、任意であることに留意してください。