資源描述:
《Oracle等待事件參考手冊(草稿)》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、概述:Oracle的等待事件是衡量oracle運行狀況的重要依據及指標。等待事件的概念是在Oracle7.0.1.2中引入的,大致有100個等待事件。在Oracle8.0中這個數(shù)目增加到了大約150個,在Oracle8i中大約有200個事件,在Oracle9i中大約有360個等待事件,在Oracle10g中的等待事件有889個,11g中等待事件1116個。我們可以通過v$event_name視圖來查看等待事件的相關信息。1.1等待事件主要可以分為兩類,即空閑(IDLE)等待事件和非空閑(NON-IDLE)等待事件。1
2、).空閑等待事件指ORACLE正等待某種工作,在診斷和優(yōu)化數(shù)據庫的時候,不用過多注意這部分事件。2).非空閑等待事件專門針對ORACLE的活動,指數(shù)據庫任務或應用運行過程中發(fā)生的等待,這些等待事件是在調整數(shù)據庫的時候需要關注與研究的。1.210g等待事件的分類,可以分為十二類,如下Administrative??Idle?Application?Network?Cluster?Scheduler?Commit?SystemI/O?????Concurrency?UserI/O?Configuration?Other1
3、.3可通過如下腳本查看等待事件及分類情況SELECTwait_class#,wait_class_id,wait_class,COUNT(*)AS"count"FROMv$event_nameGROUPBYwait_class#,wait_class_id,wait_classORDERBYwait_class#;結果如下:WAIT_CLASS#WAIT_CLASS_IDWAIT_CLASScount01893977003Other60114217450380Application1223290255840Confi
4、guration2334166625743Administrative4643875070507Concurrency2553386400367Commit162723168908Idle6372000153315Network2781740759767UserI/O1794108307767SystemI/O24102396326234Scheduler2113871361733Cluster481.4等待事件分類介紹1)管理類:administrative此類等待事件是由于DBA的管理命令引起的,這些命令要求用戶
5、處于等待狀態(tài),比如,重建索引?! ?)應用程序類:Application 此類等待事件是由于用戶應用程序的代碼引起的(比如:鎖等待). 3)群集類:Cluster 此類等待事件和真正應用群集RAC的資源有關。(比如:gccrblockbusy等待事件). 4)提交確認類:Commit 此類等待事件只包含一種等待事件--在執(zhí)行了一個commit命令后,等待一個重做日志寫確認(也就是logfilesync). 5)并發(fā)類:Concurrency 此類等待事件是由內部數(shù)據庫資源引起的,比如閂鎖?! ?)配置類
6、:Configuration 此類等待事件是由數(shù)據庫或實例的不當配置造成的,比如,重做日志文件尺寸太小,共享池的大小等?! ?)空閑類:Idle 此類等待事件意味著會話不活躍,等待工作。比如,sql*netmessagesfromclient。 8)網絡類:Network 和網絡環(huán)境相關的一些等待事件,比如sql*netmoredatatodblink。 9)Other 此類等待事件通常比較少見。 10)調度類:Scheduler 資源管理器相關等待如resmgr:becomeactive' 11)
7、系統(tǒng)I/O類:SystemI/O 此類等待事件通過是由后臺進程的I/O操作引起的,比如DBWR等待,dbfileparallewrite?! ?2)用戶I/O類:UserI/O此類等待事件通常是由用戶I/O操作引起的,比如dbfilesequentialread。1.5相關的幾個視圖:V$SESSION:代表數(shù)據庫活動的開始,視為源起。V$SESSION_WAIT:視圖用以實時記錄活動SESSION的等待情況,是當前信息。V$SESSION_WAIT_HISTORY:是對V$SESSION_WAIT的簡單增強,記錄
8、活動SESSION的最近10次等待。V$SQLTEXT:當數(shù)據庫出現(xiàn)瓶頸時,通??梢詮腣$SESSION_WAIT找到那些正在等待資源的SESSION,通過SESSION的SID,聯(lián)合V$SESSION和V$SQLTEXT視圖就可以捕獲這些SESSION正在執(zhí)行的SQL語句。V$ACTIVE_SESSION_HISTORY:是ASH的核心,用以