日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ORACLE 等待事件的分类

發布時間:2024/4/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORACLE 等待事件的分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


等待事件是總個性能調優的入口。

在總體查看ORACLE數據庫性能時,總是會先看TOP? N WAIT,比如:

下面我切了一段我的AWR報表內容:



Top Timed Events
???? '*' Cnt : count of instances with wait times for the event





Wait?Event?Wait Time?
I#ClassEventWaits
*
DB CPU





User I/Odb file sequential read203,391
*



Commitlog file sync173,402
*



NetworkLNS wait on SENDREQ230,029
*



OtherLGWR-LNS wait on channel403,571
*



System I/Olog file parallel write213,373
*
??
?System I/Odb file parallel write82,579
*???
?System I/Ocontrol file sequential read31,898
*???
?System I/Ocontrol file parallel write6,894

這時可以看出,每一種等待事件的分類,從分類我們很清楚就知道,在哪種等待

消耗了更多的資源。

再成分類細化,對性能優化就有了一個很清晰的方向了。

(1.如果是USER I/O ,那么查看最大消耗的應對的 SQL SCRIPT,

? 2.如果是 SYSTEM I/O 查看 是什么等待事件,看是否能在數據庫級別進行調優.....)



從我的報表中可以看到,第一位的還是? User I/O,并且等待事件為: db file sequential read,

引起此等待事件的原因大體為:


通常顯示與單個數據塊相關的讀取操作,在大多數情況下,讀取一個索引塊或者通過索引讀取一個數據塊時,都會記錄這個等待。

如果這個等待事件比較顯著,可能表示在多表連接中,表的連接順序存在問題,可能沒有正確的使用驅動表;或者可能索引的使用存在問題,并非索引總是最好的選擇。

在大多數情況下,通過索引可以更為快速地獲取記錄,所以對于一個編碼規范、調整良好的數據庫,這個等待事件很大通常是正常的。但是在很多情況下,使用索引并不是最佳的選擇,比如讀取較大表中大量的數據,全表掃描可能會明顯快于索引掃描,所以在開發中就應該注意,對于這樣的查詢應該避免使用索引掃描。




ORACLE 等待事件的分類?


1ADMINISTRATIVEDBA的命令導致的等待,如重建索引
2APPLICATION可能是應用的代碼導致的等待,比如:行級鎖和顯式的表鎖;
3CLUSTERRAC集群相關的等待,全局內存的等待,一個實例等待另一個實例的復制。心跳線帶寬不夠,實例間內存交換過于頻繁。
4COMMIT這個類別僅和一個等待事件相關,在發出commit命令后等待redo log write 確認,這個事件是log file sync,
5CONCURRENCY內部資源造成的等待,如latches?
6CONFIGURATION由于實例或數據庫資源配置不當而造成的等待,如不適當的redo log buffer size 和 shared_pool size;
7IDLE??Session為非活動的且等待工作,此類事件屬于此范疇,典型的如 'SQL*Net message from client';
8NETWORK基于網絡的等待,如'SQL*Net more data to dblink'
9QUEUE基于隊列的一些等待,如 'wait for EMON to spawn';
10SCHEDULER資源管理器相關等待,如'resmgr: become active';
11SYSTEM I/O系統后臺產生的I/O等待,比如DBWR寫LOG產生的,如DBWR wait for 'db file parallel write',比如DBWR進程不夠時,這時可以添加DBWR進程。
12USER I/O用戶產生的I/O等待
13OTHER通常不會發生的等待,如 'wait for EMON to spawn';


總結

以上是生活随笔為你收集整理的ORACLE 等待事件的分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。