Oracle 19c中的等待事件分類 Event Waits
Oracle資料庫等待事件是7i開始引入的概念,是效能最佳化和故障診斷的重要依據。按伺服器程式或執行緒遞增的統計資訊,指示必須等待事件完成之後才能繼續處理。等待事件資料顯示了可能會影響效能的問題的各種症狀,如閂鎖爭用、緩衝區爭用和I/O 爭用。這些只是問題的症狀,而不是實際的原因。等待事件按類別進行分組。等待事件的類別包括:管理、應用程式、簇、提交、併發、配置、空閒、網路、其它、排程程式、系統 I/O 和使用者 I/O。
Oracle19c資料庫中大約有1920多個等待事件,包括"free buffer wait(空閒緩衝區等待"、"latch free(閂鎖釋放)"、"buffer busy waits(緩衝區忙等待)"、"db file sequential read(資料庫檔案順序讀取"和"db file scattered read(資料庫檔案分散讀取)"。
不同版本的等待事件數量不一樣,但是都可以透過v$event_name檢視來查詢等待事件
SQL> select BANNER_FULL from v$version; BANNER_FULL -------------------------------------------------------------------------------- Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> SQL> desc v$event_name Name Null? Type ----------------------------------------- -------- ---------------------------- EVENT# NUMBER EVENT_ID NUMBER NAME VARCHAR2(64) PARAMETER1 VARCHAR2(64) PARAMETER2 VARCHAR2(64) PARAMETER3 VARCHAR2(64) WAIT_CLASS_ID NUMBER WAIT_CLASS# NUMBER WAIT_CLASS VARCHAR2(64) DISPLAY_NAME VARCHAR2(64) CON_ID NUMBER SQL>
注: PARAMETER1, PARAMETER2, PARAMETER3對每個等待事件的值都是不一樣的。
在cdb的根容器中查詢等待事件數量
SQL> select count(*) from v$event_name; COUNT(*) ---------- 1920
在pdb中查詢等待事件數量
SQL> select count(*) from v$event_name; COUNT(*) ---------- 1920 SQL>
透過v$fixed_view_definition檢視檢視GV$EVENT_NAME的定義
SQL> SELECT view_definition FROM v$fixed_view_definition 2 WHERE view_name='GV$EVENT_NAME'; VIEW_DEFINITION -------------------------------------------------------------------------------- select inst_id, indx, ksledhash, kslednam, ksledp1, ksledp2, ksledp3, ksledclas sid, ksledclass#, ksledclass, ksleddsp, con_id from x$ksled SQL>
x$ksled基表是記錄等待事件的描述
[E]vent Waits X$KSLED - Event [D]escriptors
查詢等待事件分類
SQL> select distinct WAIT_CLASS from v$event_name; WAIT_CLASS ---------------------------------------------------------------- System I/O Scheduler Network Application Other User I/O Administrative Commit Queueing Concurrency Idle Cluster Configuration 13 rows selected.
等待事件說明
Idle 空閒
User I/O 使用者I/O
System I/O 系統I/O
Network 網路等待
Application 應用等待
Concurrency 併發等待
Commit 提交等待
Cluster 叢集等待
Administrative 管理等待
Other 其他等待
Configuration 配置等待
Scheduler 排期等待
Queueing 佇列等待
19c中各類等待事件的個數
SQL> SELECT wait_class#, wait_class_id, wait_class, COUNT (*) AS "count" FROM v$event_name GROUP BY wait_class#, wait_class_id, wait_class ORDER BY wait_class#; 2 3 WAIT_CLASS# WAIT_CLASS_ID WAIT_CLASS count ------------- ------------- ------------------------------ ---------- 0 1893977003 Other 1394 1 4217450380 Application 17 2 3290255840 Configuration 28 3 4166625743 Administrative 59 4 3875070507 Concurrency 56 5 3386400367 Commit 5 6 2723168908 Idle 140 7 2000153315 Network 30 8 1740759767 User I/O 59 9 4108307767 System I/O 40 10 2396326234 Scheduler 10 11 3871361733 Cluster 73 12 644977587 Queueing 9 13 rows selected. SQL>
AWR報告中也記錄了等待事件
AWR中的頂級等待事件
從上面我們可以看出Oracle的等待事件份兩大類:空閒(IDEL)和非空閒(NON-IDLE)。 空閒(IDEL)類的等待事件故障診斷和效能分析時可以忽略。非空閒 (NON-IDLE)的等待事件時針對資料庫的任務或應用執行SQL等動作時發生的等待,這些等待事件對我們很重要。
-the end-
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28373936/viewspace-2922032/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle wait event 等待事件OracleAI事件
- 【TUNE_ORACLE】等待事件之“buffer busy waits”Oracle事件AI
- 【等待事件】buffer busy waits事件AI
- Oracle等待事件的種類Oracle事件
- 【TUNE_ORACLE】等待事件之等待事件類別Oracle事件
- ORACLE中的等待事件Oracle事件
- oracle buffer busy waits等待的含義OracleAI
- Cursor Mutex S Waits等待事件引發hangMutexAI事件
- 等待事件 (wait event) [final]事件AI
- Oracle的等待事件Oracle事件
- 【等待事件】ORACLE常見等待事件事件Oracle
- 10g對等待事件進行了分類事件
- log buffer space wait event等待事件AI事件
- GoldenGate導致的Streams miscellaneous event等待事件Go事件
- oracle等待事件Oracle事件
- Oracle 等待事件Oracle事件
- 等待事件_buffer_busy_waits_and_read_by_other_session(1)事件AISession
- 等待事件_buffer_busy_waits_and_read_by_other_session(2)事件AISession
- 等待事件_buffer_busy_waits_and_read_by_other_session(3)事件AISession
- 等待事件_buffer_busy_waits_and_read_by_other_session(4)事件AISession
- oracle11g_wait event等待事件及潛在原因列表OracleAI事件
- 宜信DBA實踐|全面解析Oracle等待事件的分類、發現及優化Oracle事件優化
- Oracle Dba必須瞭解的buffer busy waits等待OracleAI
- RAC中的等待事件事件
- Oracle Mutex 等待事件OracleMutex事件
- oracle等待事件一Oracle事件
- 【Oracle概念】-等待事件Oracle事件
- Oracle 等待事件 一Oracle事件
- Oracle 常見的等待事件Oracle事件
- JS中event事件JS事件
- oracle 11.1.0.6 版本中的resmgr:cpu quantum 等待事件Oracle事件
- Oracle-監控oracle的等待事件Oracle事件
- [重慶思莊每日技術分享]-free buffer waits 等待事件AI事件
- 會話等待(Session Waits)會話SessionAI
- ORACLE 常見等待事件Oracle事件
- oracle常見等待事件Oracle事件
- Oracle 空閒等待事件Oracle事件
- Oracle等待事件詳解Oracle事件