プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド
12c (12.2.1)
E70044-01
  目次へ移動
目次

前
 
次
 

7 使用状況トラッキングの管理

この章では、Oracle Business Intelligenceの使用状況トラッキングを管理する方法について説明します。Oracle BIサーバーは、使用状況トラッキング・データの収集をサポートしています。使用状況トラッキングが有効な場合、Oracle BIサーバーは各問合せの使用状況トラッキングのデータを収集し、そのデータをデータベース表に直接挿入します。


注意:

Oracle BI Summary Advisor機能は、使用状況トラッキング機能と連携しています。Summary Advisorは、使用状況トラッキングの直接挿入とのみ連携して機能します。

Oracle BI Summary Advisorは、Oracle Business IntelligenceをOracle Exalytics Machineで実行している場合にのみ使用できます。Summary Advisor機能の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BI Summary Advisorを使用した集計の問合せ候補の識別に関する項を参照してください。


この章の内容は次のとおりです。

7.1 使用状況トラッキングについて

Oracle BIサーバーでは使用状況トラッキングの累積統計をサポートしており、これは、データベースの最適化、集計計画、使用するリソースに基づくユーザーや部門への請求など、様々な形で使用できます。BIサーバーは、詳細な問合せレベルで使用状況を追跡します。

使用状況トラッキングを有効にすると、すべての問合せの統計がデータベース表に挿入されるか、使用状況トラッキング・ログ・ファイルに書き込まれます。直接挿入を使用する場合は、使用状況トラッキング・データがリレーショナル・データベース表に直接挿入されます。直接挿入を使用して統計をデータベース表に書き込むことをお薦めします。

BIサーバーが起動すると、メタデータ内の列名が、使用状況トラッキング表内の有効な列のリストに対して検証されます。次のイベントが発生します。

  • 列名。データベース表内の列とメタデータ内の列が一致しない場合、挿入のデータベース・エラーが発生します。

  • Varchar長。メタデータ内の長さと表で設定されている長さが一致しない場合、nqserver.logファイルにエラーが書き込まれ、使用状況トラッキングが無効になります。


注意:

Oracle Business Intelligenceインストールの次の場所に、サンプルの使用状況トラッキング・リポジトリ・モデルが提供されています。

ORACLE_HOME/bi/bifoundation/samples/usage_tracking.bar。

このパスは、12cのバージョンには適用されますが、それより前のバージョンには適用されません。

サンプルの使用状況トラッキング・リポジトリを使用するには、ご使用のデータベースを指すように接続プールを変更して、使用状況トラッキング・リポジトリと既存のリポジトリをマージします。


7.2 使用状況トラッキングの情報を収集するための直接挿入の設定

直接挿入は、使用状況トラッキングの設定における推奨方法です。この項では、直接挿入を設定する方法および次の内容について説明します。

7.2.1 使用状況トラッキングの統計データベースの設定

使用状況トラッキングの直接挿入を使用する前に、使用状況トラッキングの統計を格納するデータベースを設定する必要があります。ターゲット・データベースでリポジトリ作成ユーティリティ(RCU)を実行し、必要な統計スキーマを作成する必要があります。

通常は、RCUで作成したスキーマがすでに含まれている、Oracle Business Intelligenceで使用するためにインストールしたデータベースを統計データベースとして使用します。使用状況トラッキング用にRCUで作成された表の名前は、S_NQ_ACCTS_NQ_DB_ACCTおよびS_NQ_INITBLOCKです。これらの表の詳細は、第7.3項「使用状況トラッキング・データの説明」を参照してください。

このデータベースは、Oracle BIリポジトリの物理レイヤーにもインポートする必要があります。

使用状況トラッキングの統計データベースを設定するには:

  1. 選択した外部データベースでリポジトリ作成ユーティリティを実行します。Oracle Business Intelligenceで使用するためにインストールしたデータベースを使用状況トラッキングの統計用に使用する場合は、RCUで作成したスキーマがすでに含まれているため、この手順をスキップできます。

  2. 管理ツールを開き、このデータベースを物理レイヤーにインポートします。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』を参照してください。

  3. リポジトリを保存して閉じます。

7.2.2 直接挿入パラメータの設定

新しい(アップグレードでない)インストールに直接挿入を設定するには、テキスト・エディタを使用します。

使用状況トラッキングの直接挿入を設定するには:

  1. Oracle BIサーバー・コンピュータで、NQSConfig.INIファイルをテキスト・エディタで開きます。このファイルは次の場所にあります:

    BI_DOMAIN/config/fmwconfig/biconfig/OBIS

    編集する前に、ファイルのバップアップ・コピーを作成します。

  2. [USAGE_TRACKING]セクションで、次のパラメータを更新します。

    • ENABLEYESに設定します。

    • DIRECT_INSERTYESに設定します。

    • Oracle BIリポジトリの物理レイヤーに表示されているように、PHYSICAL_TABLE_NAMEを、問合せ統計情報を収集するための完全修飾データベース表の名前に設定します。例:

      PHYSICAL_TABLE_NAME = "My_DB"."DEV_BIPLATFORM"."S_NQ_ACCT";
      
    • Oracle BIリポジトリの物理レイヤーに表示されているように、CONNECTION_POOLを、問合せ統計データベースの完全修飾接続プールの名前に設定します。例:

      CONNECTION_POOL = "My_DB"."Usage Connection Pool";
      
    • 初期化ブロックの統計に対応するレコードを挿入するデータベース表の完全修飾名にINIT_BLOCK_TABLE_NAMEを(Oracle BIリポジトリの物理レイヤーに表示されているとおりに)設定します。例:

      INIT_BLOCK_TABLE_NAME = "My_DB"."DEV.BIPLATFORM"."S_NQ_INITBLOCK;
      
    • 初期化ブロックの統計に対応するレコードを挿入する表の完全修飾接続プール名にINIT_BLOCK_CONNECTION_POOLを(Oracle BIリポジトリの物理レイヤーに表示されているとおりに)設定します。例:

      INIT_BLOCK_CONNECTION_POOL = "My_DB"."Usage Connection Pool";
      

    注意:

    使用状況トラッキングの挿入が行われるためには、バックエンド・データベースへの書込み権限を持つユーザーIDで接続プールを構成する必要があります。また、接続タイプが国際データをサポートすることもお薦めします。

  3. ファイルを保存して閉じます。

  4. Oracle BIサーバーを再起動します。

7.2.3 オプションの直接挿入パラメータの設定

前述の設定パラメータに加えて、次のオプションのパラメータもNQSConfig.INIファイルの使用状況トラッキング・セクションで更新できます。

  • BUFFER_SIZE。このパラメータは、挿入文のバッファリング用にBIサーバーが割り当てるメモリー量を示します。このようなバッファにより、BIサーバーは複数の挿入文を1つのトランザクションに含めて発行でき、使用状況トラッキング挿入のスループットが向上します。また、通常の分析では使用状況トラッキング挿入を待つ必要がないため、問合せの平均レスポンス時間も向上します。サーバー・コンピュータ上の使用可能なメモリーとメモリーの使用状況に応じて、この値を調整します。

  • BUFFER_TIME_LIMIT_SECONDS。このパラメータは、使用状況トラッキング・サブシステムが挿入文の発行を試行するまでの、挿入文がバッファ内に存続する最大時間を示します。この時間制限によって、静止状態が長く続いていても、BIサーバーは挿入文をすぐに発行できます。

  • NUM_INSERT_THREADS。このパラメータは、バッファから挿入文を削除し、それを使用状況トラッキング・データベースに挿入するスレッドの数を示します。読取りと挿入で接続プールがそれぞれ別の場合、挿入スレッド数は通常、接続プールの最大接続設定に等しくなります。

  • MAX_INSERTS_PER_TRANSACTION。このパラメータは、使用状況トラッキング・サブシステムが、1つのトランザクションの一部として発行を試みる挿入文の最大数を示します。この値が大きくなるほど、使用状況トラッキング挿入が長時間にわたって行われ、潜在的なスループットが増します。ただし、値が大きいと、デッドロックが原因でトランザクションが失敗する可能性も増します。BUFFER_TIME_LIMIT_SECONDSに小さい値を指定すると、トランザクション当たりの挿入数を制限できます。

使用状況トラッキングの構成パラメータの詳細は、付録A「NQSConfig.INIファイルの構成設定」を参照してください。

7.3 使用状況トラッキング・データの説明

表7-1は、S_NQ_ACCT使用状況トラッキング表内の各列の説明です。該当する場合は、データ型と長さも示されています。

表7-1で説明している時間に関連したいくつかの列には、加算または減算によってその正確な値を求められると推測できるものがあります。たとえば、END_TSからSTART_TSを引けば、TOTAL_TIME_SECを求められるように思われるかもしれません。次の理由により、これらの列を使用しても正確な値は求められません。

  • 様々なプロセスが並列に実行されており、その処理速度はBIサーバーにかかる負荷およびデータベースのパフォーマンスに応じて異なります。サーバーベースの処理は、軽いか集中的であるかのどちらかになります。

  • すべての接続が使用中の場合、問合せはキューで処理を待機します。そのタイミングは、BIサーバーの負荷と構成に応じて異なります。

表7-1 S_NQ_ACCTの使用状況トラッキング・データ

説明

CACHE_IND_FLG

デフォルトはNです。

Yは問合せのキャッシュ・ヒットを示し、Nはキャッシュ・ミスを示します。

COMPILE_TIME_SEC

問合せのコンパイルにかかった時間(秒単位)です。この表で説明しているように、COMPILE_TIME_SECの秒数はTOTAL_TIME_SECに含まれます。

CUM_DB_TIME_SEC

BIサーバーが論理問合せのかわりにバックエンド物理データベースを待機した合計時間(秒単位)です。

CUM_NUM_DB_ROW

バックエンド・データベースから返された合計行数です。

END_DT

論理問合せが完了した日付です。

END_HOUR_MIN

論理問合せが完了した時間(時間と分)です。

END_TS

論理問合せが終了した日付と時間です。開始タイムスタンプと終了タイムスタンプも、リソースが使用可能になるまでの問合せの待機時間を表します。

注意: 問合せの終了前に、問合せを発行しているユーザーがページから移動すると、最終的なフェッチは行われず、3600というタイムアウト値が記録されます。しかし、タイムアウトの前にユーザーがページに戻ると、その時点でフェッチが完了し、これがend_ts時間として記録されます。

ERROR_TEXT

デフォルトはNullです。Varchar(250)

バックエンド・データベースからのエラー・メッセージです。この列は、SUCCESS_FLG(詳細は、この表の後述のエントリを参照)が0(ゼロ)以外の値に設定されている場合のみ適用されます。複数のメッセージは連結され、BIサーバーによって解析されません。

ID

一意の行IDです。

NODE_ID

<hostname>:<instance_name>:<component_name>を連結します。<instance_name>:<component_name>は、環境変数INSTANCE_NAMEおよびCOMPONENT_NAMEでオーバーライドできます。たとえば、examplehost:instance1:coreapplication_obis1となります。

INSTANCE_NAMEのデフォルト値はinstance1、COMPONENT_NAMEのデフォルト値はcoreapplication_obis1です。

NUM_CACHE_HITS

問合せに対してキャッシュ結果が返された回数を示します。NUM_CACHE_HITSは32ビットの整数(または10桁の整数)です。

デフォルトはNullです。

NUM_CACHE_INSERTED

問合せによってキャッシュ・エントリが生成された回数を示します。

デフォルトはNullです。NUM_CACHE_INSERTEDは32ビットの整数(または10桁の整数)です。

NUM_DB_QUERY

論理問合せリクエストを満たすためにバックエンド・データベースに対して発行された問合せの数です。成功した問合せ(SuccessFlag = 0)の場合、この値は1以上です。

PRESENTATION_NAME

デフォルトはNullです。Varchar(128)

Oracle BIプレゼンテーション・カタログの名前です。

QUERY_BLOB

論理SQL文全体が切り捨てられることなく含まれています。

QUERY_BLOB列は、長い文字列です。

QUERY_KEY

デフォルトはNullです。Varchar(128)です。

Oracle Business Intelligenceによって論理SQL文から生成されたMD5ハッシュ・キーです。

QUERY_SRC_CD

リクエストのソースです。

挿入可能な値の例は、次のとおりです。

分析またはエクスポート操作により、'Report'が挿入されます。

フィルタ・ダイアログで「値」ドロップダウンを使用するか、ダッシュボード・プロンプトを使用すると、'ValuePrompt'が挿入されます。

分析サーバー・キャッシュをシードするエージェントにより、'Seed'が挿入されます。

オンライン管理ツールの物理表または列行数、あるいはビュー・データにより、'NULL'が挿入されます。

QUERY_TEXT

Varchar(1024)です。

問合せで発行されたSQL文です。

この列の長さはALTER TABLEコマンドで変更できますが、この列に書き込まれるテキストは、物理レイヤーで定義されているサイズに常に切り捨てられます。リポジトリ管理者は、この列の長さを、バックエンド物理データベースでサポートされている最大問合せ長より大きな値に設定しないでください。

たとえば、Oracle Databaseでは最大4000のVarcharを使用できますが、4000文字ではなく4000バイトに切り捨てられます。このため、マルチバイト・キャラクタ・セットを使用している場合、使用しているキャラクタ・セットと文字に応じて、実際の最大文字列サイズの文字数が異なります。

REPOSITORY_NAME

問合せがアクセスするリポジトリの名前です。

ROW_COUNT

問合せクライアントに返される行数です。

注意: 大量のデータが問合せから返される場合、すべてのデータがユーザーに表示されるまで、この列には移入されません。

IMPERSONATOR_USER_NAME

デフォルトはNoneです。Varchar(128)です。

偽装ユーザーのユーザー名です。リクエストが偽装ユーザーとして実行されない場合、値は'None'です。

SAW_DASHBOARD

ダッシュボードのパス名です。問合せがダッシュボードを通じて発行されなかった場合、値はNULLです。

SAW_DASHBOARD_PG

デフォルトはNullです。Varchar(150)

ダッシュボード内のページ名です。リクエストがダッシュボード・リクエストでない場合、値はNULLです。

SAW_SRC_PATH

分析するOracle BIプレゼンテーション・カタログ内のパス名です。

START_DT

論理問合せが発行された日付です。

START_HOUR_MIN

論理問合せが発行された時間(時間と分)です。

START_TS

論理問合せが発行された日時です。

SUBJECT_AREA_NAME

アクセスされるビジネス・モデルの名前です。

SUCCESS_FLG

次のリストで定義される、問合せの完了ステータスです。

  • 0 - 問合せがエラーを発生せずに正常終了しました。

  • 1 - 問合せがタイムアウトしました。

  • 2 = 行制限を越えたために問合せが失敗しました。

  • 3 = その他の理由で問合せが失敗しました。

TOTAL_TIME_SEC

クライアントが分析へのレスポンスを待機している間に、BIサーバーが問合せの処理に要した時間(秒単位)です。TOTAL_TIME_SECには、COMPILE_TIME_SECの時間が含まれます。

この設定は、第6.5.1.1項「問合せのロギング・レベルの設定」で説明されている、nqquery.logファイル内のレスポンス時間と同じです。

USER_NAME

問合せを発行したユーザーの名前です。


表7-2は、S_NQ_DB_ACCT表の説明です。これは、S_NQ_ACCTに格納されている論理問合せに対応する物理SQL情報を提供することで、使用状況トラッキング表を補足しています。S_NQ_DB_ACCTには、S_NQ_ACCTへの逆方向の外部キー・リレーションシップがあります。

表7-2 S_NQ_DB_ACCTの使用状況トラッキング・データ

説明

END_DT

物理問合せが完了した日付です。

END_HOUR_MIN

物理問合せが完了した時間(時間と分)です。

END_TS

物理問合せが終了した日付と時間です。開始タイムスタンプと終了タイムスタンプも、リソースが使用可能になるまでの問合せの待機時間を表します。

ID

一意の行IDです。

LOGICAL_QUERY_ID

Varchar2(50)です。

S_NQ_ACCT表の論理問合せを参照します。

QUERY_BLOB

物理SQL文全体が切り捨てられることなく含まれています。

QUERY_BLOB列は、長い文字列です。

QUERY_TEXT

Varchar(1024)です。

問合せで発行されたSQL文です。

ROW_COUNT

問合せクライアントに返される行数です。

TIME_SEC

物理問合せの実行時間です。

START_DT

物理問合せが発行された日付です。

START_HOUR_MIN

物理問合せが発行された時間(時間と分)です。

START_TS

物理問合せが発行された日時です。


表7-3は、S_NQ_INITBLOCK使用状況トラッキング表の列を説明しています。これは初期化ブロックの情報を追跡します。

表7-3 S_NQ_INITBLOCKの使用状況トラッキング・データ

説明

USER_NAME

Varchar2(128)

初期化ブロックを実行したユーザーの名前。

REPOSITORY_NAME

Varchar2(128)

問合せがアクセスするリポジトリの名前です。

TENANT_ID

Varchar2(128)

初期化ブロックを実行したユーザーのテナント名。

SERVICE_NAME

Varchar2(128)

サービスの名前。

ECID

Varchar2(1024)

システム生成された実行コンテンツID。

SESSION_ID

Number(10)

セッションのID。

BLOCK_NAME

Varchar2(128)

実行済の初期化ブロックの名前。

START_TS

初期化ブロックが開始された日時。

END_TS

初期化ブロックが終了した日時。開始タイムスタンプと終了タイムスタンプも、リソースが使用可能になるまでの問合せの待機時間を表します。

DURATION

Number(13,3)

初期化ブロックの実行に要した時間の長さ。

NOTES

Varchar2(1024)

初期化ブロックおよびその実行に関する注意事項。