成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

數(shù)據(jù)庫中v$lockv和$locked_object的區(qū)別有哪些

這篇文章給大家分享的是有關(guān)數(shù)據(jù)庫中v$lockv和$locked_object的區(qū)別有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專注成都網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計(jì),有關(guān)企業(yè)網(wǎng)站建設(shè)方案、改版、費(fèi)用等問題,行業(yè)涉及成都玻璃鋼雕塑等多個領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

一、引言
工作中有次修改表sj_affair中的數(shù)據(jù),需要禁用該表上的觸發(fā)器。結(jié)果無法禁用,報(bào)如下錯誤:
ORA-00054: resource busy and acquire with NOWAIT specified
很明顯,是該表被鎖定了,于是打算kill掉鎖住該表的會話。步驟如下:

1.查出鎖住該表的會話id,serial#

SELECT o.object_name,s.sid, s.serial#
       FROM v$locked_object l, dba_objects o, v$session s
            WHERE l.object_id = o.object_id
                  AND l.session_id = s.sid
      AND o.object_name='SJ_AFFAIR';
    
2.kill掉該會話
alter system kill session 'sid, serial#';

kill掉會話之后再次查詢,發(fā)現(xiàn)該表上已經(jīng)沒有鎖了。于是再次試圖禁用觸發(fā)器,結(jié)果奇怪了,還是無法禁用。
是不是鎖又恢復(fù)了呢?再次查詢,發(fā)現(xiàn)沒有鎖。這是為什么呢?
在網(wǎng)上搜了很多,發(fā)現(xiàn)一條有用的信息,作者查詢鎖用的是v$lock視圖,而不是v$locked_object視圖。改成查詢v$locd視圖:

SELECT o.object_name,s.sid, s.serial#
       FROM v$lock l, dba_objects o, v$session s
            WHERE l.id1 = o.object_id
                  AND l.sid = s.sid
                  AND o.object_name='SJ_AFFAIR';
                
然后再次查詢,發(fā)現(xiàn)SJ_AFFAIR上居然還有鎖。于是再次kill,然后禁用觸發(fā)器就成功了。

二、V$LOCK和V$LOCKED_OBJECT
查詢鎖表都會用到V$LOCK和V$LOCKED_OBJECT,但這兩者不是相同的。我們先看看它們各自的主要字段:
1.v$lock
    sid:     會話SID,通常與v$session關(guān)聯(lián)。
    type:    鎖類型,TM表示表鎖或DML鎖,TX表示行鎖或事務(wù)鎖,UL表示用戶鎖。我們主要關(guān)注TX和TM兩種鎖,其它均為系統(tǒng)鎖,會很快自動釋放,不用關(guān)注。  行鎖不會單獨(dú)存,行級鎖之前需要先加表級共享鎖。
  lmode:     會話保持的鎖的模式。
 0=None;1=Null;2=Row-S (SS,行級共享鎖,其他對象只能查詢這些數(shù)據(jù)行);3=Row-X (SX,行級排它鎖,在提交前不允許做DML操作);4=Share(共享鎖);5=S/Row-X (SSX,共享行級排它鎖);6=Exclusive(排它鎖)
         
ID1,ID2: ID1,ID2的取值含義根據(jù)type的取值而有所不同,對于TM 鎖ID1表示被鎖定表的object_id 可以和dba_objects視圖關(guān)聯(lián)取得具體表信息,ID2 值為0;對于TX 鎖,ID1以十進(jìn)制數(shù)值表示該事務(wù)所占用的回滾段號和事務(wù)槽slot number號,其組形式: 0xRRRRSSSS,RRRR=RBS/UNDO NUMBER,SSSS=SLOT NUMBER,ID2 以十進(jìn)制數(shù)值表示環(huán)繞wrap的次數(shù),即事務(wù)槽被重用的次數(shù)
  
2.V$LOCKED_OBJECT
   session_id:         會話id。通常與v$session關(guān)聯(lián)。
   object_id:          被鎖對象標(biāo)識。通常與dba_objects關(guān)聯(lián)。
   oracle_username:    登錄oracle用戶名。
   os_user_name:       電腦用戶名如:Administrator
   locked_mode:        會話保持的鎖的模式。 
 
三、兩者的區(qū)別
1.V$LOCKED_OBJECT只能報(bào)發(fā)生等待的表級鎖,不能報(bào)發(fā)生等待的行級鎖。
注:這句話是網(wǎng)上別人說的,暫時未驗(yàn)證,需慎重考慮。但是從我遇到的問題來看,似乎是正確的。只是我的問題已經(jīng)無法重現(xiàn),也就失去了驗(yàn)證它的機(jī)會。

2.v$locked_object包含的是當(dāng)前DB中被鎖住的OBJECT,而v$lock不僅包含用戶的,還包括系統(tǒng)被鎖住的object,即: V$LOCK>v$locked_object

感謝各位的閱讀!關(guān)于“數(shù)據(jù)庫中v$lockv和$locked_object的區(qū)別有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)站標(biāo)題:數(shù)據(jù)庫中v$lockv和$locked_object的區(qū)別有哪些
標(biāo)題網(wǎng)址:http://jinyejixie.com/article14/jjpege.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名自適應(yīng)網(wǎng)站、服務(wù)器托管、網(wǎng)站設(shè)計(jì)網(wǎng)站改版、網(wǎng)站內(nèi)鏈

廣告

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

營銷型網(wǎng)站建設(shè)
资阳市| 星座| 宜春市| 利川市| 营山县| 抚宁县| 修水县| 抚远县| 塔河县| 托克托县| 乌鲁木齐县| 鸡西市| 日喀则市| 江永县| 怀柔区| 大埔县| 长白| 淮阳县| 康乐县| 上蔡县| 兰州市| 繁峙县| 巴东县| 宜兰县| 瓦房店市| 襄樊市| 乐业县| 荣昌县| 轮台县| 襄汾县| 壶关县| 微博| 长阳| 贵定县| 东乡族自治县| 平南县| 大竹县| 江孜县| 永福县| 池州市| 化隆|