使用状況トラッキングと初期化ブロックの使用
このトピックでは、Oracle Analyticsで初期化ブロックと使用状況トラッキングを使用する場合のヒントについて説明します。
使用状況トラッキングの有効化
セッション変数初期化ブロックを最適化する最初のラウンドが完了したら、初期化ブロックの使用状況トラッキングを有効化して、そのパフォーマンスをより正しく理解します。
このトピックでは、Oracle BI Enterprise Edition (OBIEE)の使用状況トラッキングの表名が示されています。実際の名前は任意に指定できますが、各表の内容を区別する必要があります(PHYSICAL
、LOGICAL
、INITBLOCK
など)。
「システム設定」で使用状況トラッキングを有効化し、Business Intelligence (BI)サーバーを再起動して使用状況トラッキングを開始します。使用状況トラッキング・オプションを参照してください。
初期化ブロックのモニター
使用状況トラッキングを有効にしたら、Oracle Analyticsにログインします。遅延されないすべてのセッション変数初期化ブロックは、ログイン時に実行され、初期化ブロック使用状況トラッキング表が移入されます。
SQL Developer、SQL*Plus、または別のSQLエントリ・ツールを使用して、セッション・ログから取得されたSESSION_ID
(-1883570176
など)を使用して次の問合せを初期化ブロック使用状況トラッキング表に対して実行します。
SELECT USER_NAME, SESSION_ID, BLOCK_NAME,
TO_CHAR(START_TS,'DD-MM-YYYY HH24:MI:SS') START_TIME,
TO_CHAR(END_TS,'DD-MM-YYYY HH24:MI:SS') END_TIME
FROM USAGE_TRACKING.S_NQ_INITBLOCK
WHERE SESSION_ID = -1883570176
ORDER BY SESSION_ID, START_TS, END_TS
USER_NAME
を使用してフィルタリングしないでください。かわりに、対象とするセッション・ログの行のSTART_TIME
およびUSER_NAME
に注目してください。
USER_NAME
および(オプションの) START_TIME
に関連付けられたSESSION_ID
を使用して問合せをフィルタリングします。
次の図は、問合せ結果を表で示しています。
図ceal_init_block_usage_tracking_query.jpgの説明
この表は、SIGNING ON
およびSIGNED ON
コールに12秒かかっていることを示しています。次に、SIGNED OFF
コールは、ユーザーが21分のアクティビティ後にログオフしていることを示しています。管理者は、操作に要する時間と、修正処理が必要な箇所を正確に把握できます。
SIGNING ON
SIGNED ON
SIGNED OFF
ノート:
特定のログイン問題を調査しない場合は、SIGNING ON
、SIGNED ON
およびSIGNED OFF
という3つのブロックを無視してください。SESSION_ID
は負数になることがあります。同じSESSION_ID
に対して2つの異なるUSER_NAME
値(BISystemUserと実際のユーザー名)があります。
初期化ブロックを遅延として指定できます。これらは元のユーザー名を使用して必要に応じて実行されます。遅延されないすべてのセッション変数初期化ブロックは、ユーザー・ログイン時に実行され、初期化ブロック使用状況トラッキング表が移入されます。これらはBISystemUserユーザー名を使用して実行されます。
Oracle Analytics Server (OAS)での初期化ブロックのチューニング
この項は、Oracle Analytics Serverにのみ適用されます。
2022年のOracle Analyticsでは、セッション変数初期化ブロックがパラレルで実行されるという大きな変更がありました。NUM_INIT_BLOCK_THREADS_PER_USER
パラメータは、並列で実行できる初期化ブロック・スレッドの数を制御します。次の例に示すように、これはNQSCONFIG.INI
ファイルのSECURITY
セクションで定義されます:
[SECURITY]
NUM_INIT_BLOCK_THREADS_PER_USER = 4;
NUM_INIT_BLOCK_THREADS_PER_USER
では、ユーザーの初期化ブロックを実行するために使用されるパラレル・スレッドの数を指定します。デフォルト値は4
で、初期化ブロックが最適化されている場合には十分です。セッション変数初期化ブロックが予想より長くかかる場合は、NUM_INIT_BLOCK_THREADS_PER_USER
値を8
に増やしてBIサーバーを再起動してください。
最大値は16
です。
ノート:
特定の初期化ブロックの実行時間が長い場合は、データベースで基礎となるSQLコードとそのパフォーマンスを調査してください。最適なログインおよびビジュアライゼーション・エクスペリエンスを提供するために、必ずすべてのインスタンスの初期化ブロックを最適化してください。最適化すると、初期化ブロック使用状況トラッキングの支援によって、インスタンスのボトルネックを特定できます。「NQSConfig.INIファイルの構成設定」を参照してください。
Oracle Analytics Serverの使用状況トラッキングの詳細は、使用状況のトラッキングを参照してください。