SQL Auditは、待機イベントに関する以下の情報を記録します:
4種類の主要な待機イベント(
APPLICATION_WAIT_TIME、CONCURRENCY_WAIT_TIME、USER_IO_WAIT_TIME、およびSCHEDULE_TIME)ごとの時間消費量を記録します。各待機イベントには多くの具体的な待機時間が含まれます。最も時間を消費した待機イベント名(
EVENT)およびその待機イベントの時間消費量(WAIT_TIME_MICRO)を記録します。すべての待機イベントの発生回数(
TOTAL_WAITS)およびすべての待機イベントの合計時間消費量(TOTAL_WAIT_TIME_MICRO)を記録します。
一般的に、待機イベントの合計時間消費量が多い場合、最も時間を消費した待機イベント名(EVENT)を確認することで、速度低下の主な原因を特定できます。
以下の例のように、待機イベントの主な時間消費がI/O待機にあることが分析できます。
obclient> SELECT SQL_ID, ELAPSED_TIME, QUEUE_TIME, GET_PLAN_TIME, EXECUTE_TIME,
APPLICATION_WAIT_TIME, CONCURRENCY_WAIT_TIME, USER_IO_WAIT_TIME, SCHEDULE_TIME,
EVENT, WAIT_CLASS, WAIT_TIME_MICRO, TOTAL_WAIT_TIME_MICRO FROM V$OB_SQL_AUDIT
WHERE TRACE_ID = 'YB42AC1E87E6-0005B8AB2D578471'\G;
************************** 1. row ***************************
SQL_ID: YB42AC1E87E6-0005B8AB2D578471
ELAPSED_TIME: 953
QUEUE_TIME: 18
GET_PLAN_TIME: 58
EXECUTE_TIME: 867
APPLICATION_WAIT_TIME: 0
CONCURRENCY_WAIT_TIME: 0
USER_IO_WAIT_TIME: 550
SCHEDULE_TIME: 0
EVENT: db file data index read
WAIT_CLASS: USER_IO
WAIT_TIME_MICRO: 352
TOTAL_WAIT_TIME_MICRO: 550