問題の分析には、外部診断ツール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ログを分析する必要があります。