Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド 12c (12.2.1) E70044-01 |
|
前 |
次 |
この章では、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を使用した集計の問合せ候補の識別に関する項を参照してください。 |
この章の内容は次のとおりです。
Oracle BIサーバーでは使用状況トラッキングの累積統計をサポートしており、これは、データベースの最適化、集計計画、使用するリソースに基づくユーザーや部門への請求など、様々な形で使用できます。BIサーバーは、詳細な問合せレベルで使用状況を追跡します。
使用状況トラッキングを有効にすると、すべての問合せの統計がデータベース表に挿入されるか、使用状況トラッキング・ログ・ファイルに書き込まれます。直接挿入を使用する場合は、使用状況トラッキング・データがリレーショナル・データベース表に直接挿入されます。直接挿入を使用して統計をデータベース表に書き込むことをお薦めします。
BIサーバーが起動すると、メタデータ内の列名が、使用状況トラッキング表内の有効な列のリストに対して検証されます。次のイベントが発生します。
列名。データベース表内の列とメタデータ内の列が一致しない場合、挿入のデータベース・エラーが発生します。
Varchar長。メタデータ内の長さと表で設定されている長さが一致しない場合、nqserver.logファイルにエラーが書き込まれ、使用状況トラッキングが無効になります。
注意: Oracle Business Intelligenceインストールの次の場所に、サンプルの使用状況トラッキング・リポジトリ・モデルが提供されています。ORACLE_HOME/bi/bifoundation/samples/usage_tracking.bar。 このパスは、12cのバージョンには適用されますが、それより前のバージョンには適用されません。 サンプルの使用状況トラッキング・リポジトリを使用するには、ご使用のデータベースを指すように接続プールを変更して、使用状況トラッキング・リポジトリと既存のリポジトリをマージします。 |
直接挿入は、使用状況トラッキングの設定における推奨方法です。この項では、直接挿入を設定する方法および次の内容について説明します。
使用状況トラッキングの直接挿入を使用する前に、使用状況トラッキングの統計を格納するデータベースを設定する必要があります。ターゲット・データベースでリポジトリ作成ユーティリティ(RCU)を実行し、必要な統計スキーマを作成する必要があります。
通常は、RCUで作成したスキーマがすでに含まれている、Oracle Business Intelligenceで使用するためにインストールしたデータベースを統計データベースとして使用します。使用状況トラッキング用にRCUで作成された表の名前は、S_NQ_ACCT
、S_NQ_DB_ACCT
およびS_NQ_INITBLOCK
です。これらの表の詳細は、第7.3項「使用状況トラッキング・データの説明」を参照してください。
このデータベースは、Oracle BIリポジトリの物理レイヤーにもインポートする必要があります。
使用状況トラッキングの統計データベースを設定するには:
選択した外部データベースでリポジトリ作成ユーティリティを実行します。Oracle Business Intelligenceで使用するためにインストールしたデータベースを使用状況トラッキングの統計用に使用する場合は、RCUで作成したスキーマがすでに含まれているため、この手順をスキップできます。
管理ツールを開き、このデータベースを物理レイヤーにインポートします。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』を参照してください。
リポジトリを保存して閉じます。
新しい(アップグレードでない)インストールに直接挿入を設定するには、テキスト・エディタを使用します。
使用状況トラッキングの直接挿入を設定するには:
Oracle BIサーバー・コンピュータで、NQSConfig.INIファイルをテキスト・エディタで開きます。このファイルは次の場所にあります:
BI_DOMAIN/config/fmwconfig/biconfig/OBIS
編集する前に、ファイルのバップアップ・コピーを作成します。
[USAGE_TRACKING]セクションで、次のパラメータを更新します。
ENABLE
をYES
に設定します。
DIRECT_INSERT
をYES
に設定します。
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で接続プールを構成する必要があります。また、接続タイプが国際データをサポートすることもお薦めします。 |
ファイルを保存して閉じます。
Oracle BIサーバーを再起動します。
前述の設定パラメータに加えて、次のオプションのパラメータも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-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) バックエンド・データベースからのエラー・メッセージです。この列は、 |
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 |
次のリストで定義される、問合せの完了ステータスです。
|
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) 初期化ブロックおよびその実行に関する注意事項。 |