SELECT * FROM v$system_event ORDER BY time_waited DESC;
若 latch free 排前列,需深入分析。
SELECT * FROM v$latch;
Willing-to-wait 關鍵欄位:GETS、MISSES、SLEEPS、WAIT_TIME、CWAIT_TIME、SPIN_GETS。
Immediate 關鍵欄位:IMMEDIATE_GETS、IMMEDIATE_MISSES。
SELECT * FROM v$latch
WHERE name LIKE '%shared pool%' OR name LIKE '%library cache%';
爭用通常源自三大原因:
SELECT sql_text FROM v$sqlarea WHERE executions=1 ORDER BY upper(sql_text);
對策:改用繫結變數、CURSOR_SHARING=FORCE/SIMILAR。
SELECT sql_text, parse_calls, executions FROM v$sqlarea WHERE parse_calls > 5;
對策:檢查 DDL 頻率、增加 Shared Pool、使用 KEEP 池。
SHARED_POOL_SIZE、啟用 SESSION_CACHED_CURSORS。
V$LATCH / V$LATCH_CHILDREN)。_SPIN_COUNT),除非 Oracle 支援建議。