等待事件相關(zt)
v$event_name : event的定義
查詢等待事件: v$session_wait, v$system_wait, v$session_wait_history
SELECT SID, EVENT FROM V$SESSION_WAIT;
檢視各種事件的歸類:
Select name,wait_class from v$event_name ;
db file sequential read :出現原因可能在多表連線中,表的連線順序存在問題,沒有正確使用驅動表;或者可能索引使用存在問題。
db file scattered read :可能和全表掃描或快速全索引掃描有關,大量此事件可能意味著應用問題或索引缺失。
查詢全表掃描的物件:
SELECT DISTINCT object_name, object_owner
FROM v$sql_plan p
WHERE p.operation = 'TABLE ACCESS'
AND p.options = 'FULL'
AND object_owner = 'ANTICELLDA';
查詢全索引掃描物件:
SELECT DISTINCT object_name, object_owner
FROM v$sql_plan p
WHERE p.operation = 'INDEX'
AND p.options = 'FULL SCAN'
AND object_owner = 'ANTICELLDA';
查詢全表掃描的sql語句:
SELECT sql_text
FROM v$sqlteXt t, v$sql_plan p
WHERE t.hash_value = p.hash_value
AND p.operation = 'TABLE ACCESS'
AND p.options = 'FULL'
ORDER BY p.hash_value, t.piece;
Direct path read/write:直接路徑讀/寫,通常發生在Oracle直接讀資料到PGA/從PGA寫資料到資料檔案或臨時檔案,這個操作不經過SGA。DSS(決策支援系統Decision Support System)系統中存在大量是正常的。OLTP(聯機事務處理on-line transaction processing)則意味著系統應用存在問題,導致大量的磁碟排序讀取操作,臨時表空間使用頻繁。V$tempseg_usage, v$tempfile
Enqueue :佇列等待,一種保護共享資源的鎖定機制,如果此事件比較顯著,需要進一步追蹤哪個類別的鎖定。常見的有ST,HW,TX,TM等。ST Enqueue用於空間管理和字典管理的表空間(DMT)的區間分配,在DMT中,典型的是uet$和fet$資料字典的爭用。
Latch free:閂鎖釋放等待,說明有程式正在等待某個latch 被釋放。Latch 用於保護SGA 中共享記憶體結構,防止被多個使用者同時訪問。Latch通常是作業系統利用記憶體中的某個位置,透過設定變數為0或非0來表示latch 是否已經被取得。v$latch,latch分為 willing-to-wait,immediate。前者表示請求的latch不能立即得到,請求程式等待一段時間後再次發出請求,程式重複執行此過程直到得到latch。後者表示請求程式不會等待,而是繼續執行下去。
對於willing-to-wait的latch,過程如下:
http://files.cnblogs.com/yifan268/latch.pdf
查詢長時間執行的事務,可能很多是全表掃描,注意opname
Select * from v$session_longops;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-429754/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 常見的wait等待事件及處理(zt)AI事件
- Solidity事件,等待事件Solid事件
- 關於enq: TX - allocate ITL entry等待事件ENQ事件
- 【TUNE_ORACLE】等待事件之等待事件類別Oracle事件
- [20201204]關於等待事件Log File Sync.txt事件
- Selenium等待事件Waits事件AI
- SQL Server郵件相關SQL語句出現嚴重的ASYNC_NETWORK_IO等待事件案例SQLServer事件
- read by other session等待事件Session事件
- log file sync等待事件事件
- ORACLE 常見等待事件Oracle事件
- latch等待事件彙總事件
- Latch free等待事件(轉)事件
- gc cr request等待事件GC事件
- 【等待事件】library cache pin事件
- 【等待事件】log file sync事件
- 【TUNE_ORACLE】等待事件之日誌等待“log file sync”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“read by other session”Oracle事件Session
- 【TUNE_ORACLE】等待事件之IO等待“direct path read”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“direct path write”Oracle事件
- Latch free等待事件四(轉)事件
- Latch free等待事件三(轉)事件
- db file scattered read等待事件事件
- db file sequential read等待事件事件
- latch:library cache lock等待事件事件
- Oracle常見UNDO等待事件Oracle事件
- Latch free等待事件二(轉)事件
- LightDB/PostgreSQL等待事件 Lock transactionidSQL事件
- openGauss/MOGDB與PG等待事件事件
- Cell smart table scan等待事件事件
- read by other session 等待事件分析Session事件
- 【等待事件】db file sequential read事件
- 【等待事件】db file scattered read事件
- 【等待事件】virtual circuit next request事件UI
- 【等待事件】standby query scn advance事件
- 【TUNE_ORACLE】等待事件之日誌等待“log file parallel write”Oracle事件Parallel
- 【TUNE_ORACLE】等待事件之IO等待“db file scattered read”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“direct path write temp”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“db file sequential read”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“db file parallel write”Oracle事件Parallel