国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

性能故障之cursor Mutex X異常等待處理

IT那活兒 / 3407人閱讀
性能故障之cursor Mutex X異常等待處理

值班電話鈴聲響起,把正要下班的我又拉回了工作狀態,迅速拿起電話,查看短信,短信顯示19點XX系統出現大量大量“cursor Mutex X”等待事件,迅速放下電腦包,掏出電腦,連上系統查看,整個過程90秒內一氣呵成,這些年良好的戰斗意識及年復一年,日復一年的實戰淬煉,讓自己各方面的速度,都有了長足的進步。

一、收集對應時間段AWR報告

顯示數據庫解析時間較長,硬解析占解析總時間小


數據庫cursor Mutex X占總等待的64.2%。


進一步分析,從Mutex Sleep Summary顯示,耗時發生在增加子游標時,增加子游標需要對父游標加獨占鎖。Cursor Mutex X主要作用對于父游標的操作,增加子游標雖然更高效,但一個父游標下不宜增加太多的子游標,因為子游標會對父游標產生獨占鎖。此次問題出現909個子游標,所以重點排查為什么出現子游標,且子游標沒有被共享的原因。


二、查詢v$sql_shared_cursor視圖:

通過上圖查詢反饋可知大量子游標沒被共享,是由三個導致:

  • 1) BIND_MISMATCH

  • 2) PURGED_CURSOR

  • 3)BIND_LENGTH_UPGRADEABLE

第一個原因表示綁定變量類型不一致(例如:varchar2類型和char類型)

第二個原因表示子游標被標記為清除狀態

第三個原因表示綁定變量類型的長度發生了變化(例如:char(10)和char(20))


三、查詢對應sql

sql_id=acd564w6af7t6語句的綁定變量類型及表字段數據類型對比

左邊為綁定變量的數據類型,右邊為對應表字段數據類型,通過對比發現,幾乎沒有完全與之匹配的數據類型,也驗證了子游標沒有被共享的原因:綁定變量類型和綁定變量類型的長度發生了變化。


綜上所述可得出結論,產生cursor Mutex X的原因是insert into..values..語句中元數據的綁定變量類型和長度不一致,使得子游標沒有被共享。


電話應用側幫忙核實綁定變量數據類型與元數據類型,使其類型一致。另外:參考mos (2625815.1)顯示由Oracle 11g升級至12c以后的版本也會引起對應bug(bug號28889389,補丁號:28889389)

于是查看數據庫補丁:

數據庫并未安裝對應補丁,存在觸發bug隱患,后續得找窗口實施補丁。


四、結尾


至此戰斗結束,匯報各方,后續跟緊開發整改,補丁實施,形成閉環。我們運維人就是7X24小時的擼命,一個電話,不論你身處何地,無論你在做啥,即便做的是父母期盼的千秋大業,也得隨時停止投入到問題處理中來,這一點我相信每一個運維人都感同身受吧。所以,加強自愈,加強白屏化操作,才能讓自己從瑣碎的,重復性的工作中抽身出來,一來加強自己父母期待的千秋大業,二來也有時間讓自己不斷提升,畢竟日新月異的IT技術更迭,更多有意思的技術需要我們去學習。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130224.html

相關文章

  • Java多線程進階(五)—— J.U.Clocks框架:LockSupport

    摘要:初始時,為,當調用方法時,線程的加,當調用方法時,如果為,則調用線程進入阻塞狀態。該對象一般供監視診斷工具確定線程受阻塞的原因時使用。 showImg(https://segmentfault.com/img/remote/1460000016012503); 本文首發于一世流云的專欄:https://segmentfault.com/blog... 一、LockSupport類簡介...

    jsyzchen 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<