国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Oracle10g數(shù)據(jù)庫最佳新特性:等待界面

瀏覽:119日期:2023-11-25 09:13:45
Oracle10g等待界面為還沒有被ADDM 捕捉的即時性能問題提供了有價值的診斷數(shù)據(jù)。 “數(shù)據(jù)庫太慢了!” 這句話通常出自一位嚴格的用戶之口。假如您和我一樣,那么在您的 DBA 生涯中您肯定無數(shù)次聽到過這句話。 那么,您又怎樣解決該問題呢?除了對用戶置之不理之外(這是我們大多數(shù)人都不敢奢望的想法),您可能要做的第一件事就是查看是否有任何會話在等待數(shù)據(jù)庫內部或外部的任何事件。 Oracle 提供了一個簡單但一流的機制來達到此目的:V$SESSION_WAIT 視圖。該視圖顯示了有助于您的診斷的各種信息,如一個會話正在等待或已經等待的事件,以及等待了多長時間和多少次。例如,假如會話在等待事件 'db file sequential read',列 P1 和 P2 將顯示會話正在等待的塊的 file_id 和 block_id。 對于大多數(shù)等待事件而言,這個視圖足夠了,但它還不是一個強健的調整工具,之所以如此說,至少是因為以下兩個重要原因: 該視圖是當前情況的一個快照。當?shù)却辉俅嬖跁r,會話先前出現(xiàn)的那些等待的歷史也將消失,從而使得事后診斷非常困難。V$SESSION_EVENT 提供了累積的但不是非常具體的數(shù)據(jù)。 V$SESSION_WAIT 包含了只與等待事件相關的信息;要獲得所有其它的相關信息(如用戶 ID 和終端),您必須將它和 V$SESSION 視圖結合使用。 在 Oracle 數(shù)據(jù)庫 10g 中,等待界面經過了徹底的重新設計,從而只需更少的 DBA 干預即可提供更多的信息。在本文中,我們將瀏覽這些新的特性,并了解它們如何幫助我們診斷性能問題。對于大多數(shù)性能問題,您可以從自動數(shù)據(jù)庫診斷治理器 (ADDM) 中獲得擴展分析,但對于還沒有被 ADDM 捕捉的即時問題,等待界面將提供有價值的診斷數(shù)據(jù)。 增強的會話等待 第一個增強涉及到 V$SESSION_WAIT 本身。這一點通過示例可以很好地說明。 假定您的用戶抱怨會話掛起了。您查明了該會話的 SID,并在 V$SESSION_WAIT 視圖中選中了該 SID 的記錄。輸出顯示如下。 SID : 269SEQ# : 56EVENT:enq:TX - row lock contentionP1TEXT  :namemodeP1  : 1415053318P1RAW: 54580006P2TEXT  :usn<<16 slotP2  : 327681P2RAW: 00050001P3TEXT  :sequenceP3  : 43P3RAW:0000002BWAIT_CLASS_ID: 4217450380WAIT_CLASS# : 1WAIT_CLASS  : ApplicationWAIT_TIME: -2SECONDS_IN_WAIT : 0STATE:WAITED UNKNOWN TIME 注重左邊顯示的列;在這些列中,WAIT_CLASS_ID、WAIT_CLASS# 和 WAIT_CLASS 是 10g 中新增的列。列 WAIT_CLASS 指示等待的類型,必須將其作為有效的等待事件解決或者作為空閑的等待事件退出。在上面的例子中,等待類顯示為 Application,這表示它是一個需要您注重的等待。 該列突出顯示那些能夠證實與您的調整最相關的少數(shù)幾條記錄。例如,您可以使用如下查詢來獲取事件的等待會話。 select wait_class, event, sid, state, wait_time, seconds_in_waitfrom v$session_waitorder by wait_class, event, sid/下面是一個樣例輸出: WAIT_CLASS EVENT  SID STATE WAIT_TIME SECONDS_IN_WAIT---------- -------------------- ---------- ------------------- ---------- ------Application enq:TX -  269 WAITING 073row lock contentionIdleQueue Monitor Wait 270 WAITING   040IdleSQL*Net message from client 265 WAITING073Idlejobq slave wait 259 WAITING08485Idlepmon timer 280 WAITING073Idlerdbms ipc message  267 WAITING0184770Idlewakeup time manager 268 WAITING040Network SQL*Net message to client  272 WAITED SHORT TIME -10在這,您可以看到幾個事件(如 Queue Monitor Wait 和 JobQueue Slave)被明確地歸為 Idle 事件。您可以將它們作為非阻塞等待消除掉;不過,有時這些“空閑”事件可能指示一個內在的問題。例如,與 SQL*Net 相關的事件可能指示高網絡延遲(除其他因素外)。 另一件要注重的重要的事情是,WAIT_TIME 的值為 -2。某些平臺(如 Windows)不支持快速計時機制。假如在這些平臺上沒有設定初始化參數(shù) TIMED_STATISTICS,那么將無法獲得準確的計時統(tǒng)計數(shù)據(jù)。在這種情況下,在 Oracle9i 中,該列將顯示一個非常大的數(shù)字,這使問題變得更加不清楚。在 10g 中,值 -2 指示這種情況 — 平臺不支持快速定時機制并且沒有設定 TIMED_STATISTICS。(對于本文剩下的部分,我們將假定存在一個快速計時機制。) 會話也顯示等待 記得長期以來一直需要將 V$SESSION_WAIT 與 V$SESSION 結合使用以獲得有關會話的其他具體信息嗎?嗯,這已經成為歷史了。在 10g 中,V$SESSION 視圖還顯示由 V$SESSION_WAIT 顯示的等待。下面是 V$SESSION 視圖其余的列,這些列顯示了會話當前等待的等待事件。 EVENT# NUMBEREVENT VARCHAR2(64)P1TEXT VARCHAR2(64)P1 NUMBERP1RAW RAW(4)P2TEXT VARCHAR2(64)P2 NUMBERP2RAW RAW(4)P3TEXT VARCHAR2(64)P3 NUMBERP3RAW RAW(4)WAIT_CLASS_ID NUMBERWAIT_CLASS#NUMBERWAIT_CLASS VARCHAR2(64)WAIT_TIME NUMBERSECONDS_IN_WAITNUMBERSTATE VARCHAR2(19)這些列與 V$SESSION_WAIT 中的那些列相同,且顯示相同的信息,從而不再需要在那個視圖中查看它們了。因此,對于等待任意事件的任意會話,您僅需要查看一個視圖。 讓我們回到原來的問題:SID 為 269 的會話正等待事件 enq:TX — row lock contention,指示它正等待被另一個會話占用的鎖。要診斷該問題,您必須識別占用鎖的那個會話。但您如何才能做到這一點? 在 Oracle9i 及更低版本中,您可能得編寫復雜(和極耗資源)的查詢來獲得占用鎖的會話的 SID。而在 10g 中,您所要做的就是執(zhí)行以下查詢: select BLOCKING_SESSION_STATUS, BLOCKING_SESSIONfrom v$session where sid = 269BLOCKING_SE BLOCKING_SESSION----------- ----------------VALID265找到了:SID 為 265 的會話阻塞了會話 269。還能更輕易嗎? 用戶仍然在纏著您,因為用戶的問題仍然沒有得到滿足的解答。為什么用戶的會話花了這么長時間才完成?您可以執(zhí)行以下命令來找出原因: select * from v$session_wait_class where sid = 269; 輸出返回為: SID SERIAL# WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASSTOTAL_WAITS TIME_WAITED---- ------- ------------- ----------- ------------- ----------- -----------269110642174503801 Application 873 261537269110632902558402 Configuration4  4269110633864003675 Commit  1  0269110627231689086 Idle 15 148408269110620001533157 Network 15  0269110617407597678 User I/O 26  1注重這里有關會話等待的大量信息。現(xiàn)在您知道了,該會話已經為與應用程序相關的等待等待了 873 次(共 261,537 厘秒),在與網絡相關的事件中等待了 15 次等等。
主站蜘蛛池模板: 国产精品高清久久久久久久 | 亚洲精品xxxxx | 成人午夜天 | 女人一级一级毛片 | 一级毛片在线免费视频 | 免费日本视频 | 欧美一区二区精品系列在线观看 | 成人午夜久久精品 | 欧洲精品一区二区三区在线观看 | 亚洲欧洲精品国产二码 | 亚洲视频免 | 国产永久精品 | 特级a欧美做爰片毛片 | 国产午夜永久福利视频在线观看 | 午夜视频在线观看一区 | 美女网站色免费 | 看欧美毛片一级毛片 | 怡红院成人永久免费看 | 亚洲国产亚洲片在线观看播放 | 免费又黄又爽的视频 | 日韩激情无码免费毛片 | 久久三级国产 | 精品一区二区三区波多野结衣 | 中文日韩字幕 | 欧美性色黄大片一级毛片视频 | 欧美成人se01短视频在线看 | 欧美三级做爰在线 | 在线观看精品自拍视频 | 免费一级在线观看 | 亚洲成人美女 | 国产在线观看网址你懂得 | 一区二区伦理 | 国产精品国内免费一区二区三区 | 亚洲成a人片在线观看精品 亚洲成a人片在线观看中 | 性欧美一级毛片 | 德国女人一级毛片免费 | 欧美成人免费全网站大片 | 好看欧美视频高清va | 免看一级a一片成人123 | 黄色影院在线观看视频 | 久草观看 |