如何解決librarycachepin及l(fā)ibrarycachelock故障

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何解決library cache pin及l(fā)ibrary cache lock故障,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站為企業(yè)級客戶提高一站式互聯(lián)網(wǎng)+設(shè)計(jì)服務(wù),主要包括做網(wǎng)站、網(wǎng)站制作、app軟件開發(fā)、微信小程序開發(fā)、宣傳片制作、LOGO設(shè)計(jì)等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個(gè)作品的質(zhì)量和創(chuàng)作周期,同時(shí)每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。 

某個(gè)客戶, 突然發(fā)生前端零售業(yè)務(wù)卡頓的情況。因?yàn)楫?dāng)時(shí)在處理其他客戶的事宜, 所以當(dāng)時(shí)沒有進(jìn)行monitor。由另外一位同事進(jìn)行處理, 直接緊急重啟了應(yīng)用。
問題解決。但是業(yè)務(wù)不得已中斷。
事后調(diào)查原因, 從卡頓的時(shí)間段來看發(fā)現(xiàn)大量的library cache pin等待事件,并且伴有l(wèi)ibrary cache lock。
如何解決library cache pin及l(fā)ibrary cache lock故障
另外,同事也保存了阻塞相關(guān)的會(huì)話信息
create table block_sess1018 as
select *  from v$session where blocking_session is not null
結(jié)合
select * from dba_hist_active_sess_history h where h.sample_time > to_date('20171018 15:25:00', 'yyyymmdd hh34:mi:ss')
and  h.sample_time < to_date('20171018 16:00:00', 'yyyymmdd hh34:mi:ss') and event like 'library cache%'

library cache pin幾個(gè)參數(shù)的意思:

p1=handle address
p2=pin address
p3=namespace&&encoded mode

對于p1raw可以對應(yīng)于x$kglob中的KGLHDADR字段x$kglpn中的KGLPNHDL字段,x$kgllk中的KGLLKHDL字段,后邊有sql關(guān)聯(lián)。

dba_hist_active_sess_history中的P1可以轉(zhuǎn)換成16進(jìn)制之后,再去v$object_dependency通過to_address定位到pin的對象


SQL> select  s.sid, s.saddr, sw.p1raw
     from v$session_wait sw, v$session s
     where sw.sid = s.sid and sw.event='library cache pin';

       SID SADDR            P1RAW
---------- ---------------- ----------------
        53 0000000077204A80 000000006DBC5BE8  

Now using the P1RAW and SADDR values find the the address of the user session that is holding the lock

SQL> select b.KGLLKUSE from dba_kgllock w , dba_kgllock b
     where w.KGLLKHDL  = b.KGLLKHDL
     and   w.KGLLKREQ  > 0 and b.KGLLKMOD > 0
     and   w.KGLLKTYPE = b.KGLLKTYPE
     and   w.KGLLKUSE  = '0000000077204A80' -- SADDR
     and   w.KGLLKHDL  = '000000006DBC5BE8' -- P1RAW

 select to_owner, to_name from v$object_dependency 
     where to_address = '000000016B500270';

select * from dba_ddl_locks where owner = 'HR';

找到了library cache pin的對象。

再進(jìn)一步發(fā)現(xiàn)(通過logminer挖掘日志),故障開始前,有開發(fā)的同事對一個(gè)基礎(chǔ)表進(jìn)行了DDL操作,引發(fā)了其后一連串的編譯的動(dòng)作(有很多對象依賴于此表)。
很多對象,比如觸發(fā)器(產(chǎn)品的邏輯很多是用觸發(fā)器完成), 過程,函數(shù),視圖等依賴于此表。
由于此時(shí)正值業(yè)務(wù)高峰,所以出現(xiàn)了大面積的卡頓。

以下是DDL時(shí)間順序

如何解決library cache pin及l(fā)ibrary cache lock故障


執(zhí)行的DDL語句:
如何解決library cache pin及l(fā)ibrary cache lock故障

上述就是小編為大家分享的如何解決library cache pin及l(fā)ibrary cache lock故障了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:如何解決librarycachepin及l(fā)ibrarycachelock故障
分享地址:http://muchs.cn/article40/gdideo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷網(wǎng)站改版、靜態(tài)網(wǎng)站微信小程序、商城網(wǎng)站、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)