問題の分析には、外部診断ツールTarsの使用を推奨します。または(G)V$OB_SQL_AUDITビューを使用して問題を調査することもできます。
(G)V$OB_SQL_AUDITを使用した問題調査の手順は以下のとおりです:
本番環境で応答時間(Response Time, RT)に一時的な急変が発生した場合は、その直後にSQL監査を無効にすることを推奨します(
ALTER SYSTEM SET enable_sql_audit = false;コマンドを実行)。これにより、変動時のSQLリクエストの記録をSQL監査に保持します。SQL Auditを使用して、変動が発生した時刻の前後でRTが長い上位N件のリクエストを照会し、異常なSQLを分析します。
対応するRT異常リクエストを見つけた場合、そのリクエストのSQL Auditレコードを分析して問題を調査できます:
a. 待機イベントに長い時間がかかっていないか確認します。
b. 論理読み取り回数が異常に多いかどうか分析します(大規模アカウントが突然現れた場合に発生する可能性があります)。
論理読み取り回数 = 2 * ROW_CACHE_HIT
+ 2 * BLOOM_FILTER_CACHE_HIT
+ BLOCK_CACHE_HIT + DISK_READS
SQL Auditにおいて、RTの変動が発生したリクエストデータが削除されている場合は、OBServerノード内の変動発生時点にスロークエリのTraceログがないか確認し、対応するTraceログを分析する必要があります。