達(dá)夢(mèng)數(shù)據(jù)庫(kù)表被鎖的處理辦法

達(dá)夢(mèng)數(shù)據(jù)庫(kù)支持多用戶并發(fā)訪問(wèn)玖像、修改數(shù)據(jù)。在實(shí)際工作中挣输,有可能出現(xiàn)多個(gè)事務(wù)同時(shí)訪問(wèn)纬凤、修改相同數(shù)據(jù)的情況,當(dāng)一個(gè)事務(wù)正在占用某個(gè)資源的鎖撩嚼,此時(shí)另一個(gè)事務(wù)正在請(qǐng)求這個(gè)資源上與第一個(gè)鎖相沖突的鎖類型時(shí)停士,就會(huì)發(fā)生阻塞。此時(shí)完丽,被阻塞的事務(wù)將一直掛起恋技,直到持有鎖的事務(wù)放棄鎖定的資源為止。本文就將給大家介紹如何使用對(duì)應(yīng)的動(dòng)態(tài)性能視圖查看阻塞以及如何解決阻塞逻族。

1.創(chuàng)建測(cè)試表并插入數(shù)據(jù)

建表:

SQL>create table T3(id INT, name VARCHAR(50));

錄入測(cè)試數(shù)據(jù):

begin
    for i in 1..100 loop
        insert into t3 values(1,'test'||i);
    end loop;
commit;
end;
image.png

2.在 T3 上面生成 TID 鎖

執(zhí)行 update 操作并且不提交蜻底,具體操作如下:

SQL>update t3 set name='AAA' where id=1;
image.png

3.開(kāi)啟新會(huì)話

3.1 在新會(huì)話下執(zhí)行 select 操作
SQL>select * from "SYSDBA"."T3";
image.png

可以看到,由于 MVCC 的多版本機(jī)制聘鳞,寫不會(huì)阻塞讀薄辅,所以 select 操作可以正常進(jìn)行。但是前面的事務(wù)沒(méi)有提交搁痛,所以查出來(lái)的結(jié)果還是舊版本的值长搀,也就是 update之前的值。

3.2 在新會(huì)話下執(zhí)行 DML 操作
SQL>delete from t3 where id=1
image.png

此時(shí)鸡典,由于 delete 操作需要加上與之前 update 操作相同類型的鎖,所以阻塞發(fā)生枪芒,當(dāng)前事務(wù)被掛起彻况。

4.阻塞的排查

當(dāng)阻塞發(fā)生時(shí)谁尸,我們可以通過(guò) v$lock 視圖查到當(dāng)前數(shù)據(jù)庫(kù)中鎖的狀態(tài)

SQL>select * from V$LOCK
image.png

結(jié)果中我們可以看到,事務(wù) 2323 被阻塞了纽甘,阻塞他的事務(wù)為 2319良蛮,同樣我們也可以通過(guò) V$TRXWAIT 視圖查找誰(shuí)阻塞誰(shuí)

SQL>select * from V$TRXWAIT 
image.png

得出同樣的結(jié)果,ID 為 2323 的事務(wù)正在等待 ID 為 2319 的事務(wù)悍赢,等待時(shí)間是352784毫秒决瞳。
接下來(lái),通過(guò) V$SESSIONS 視圖查找兩個(gè)事務(wù)對(duì)應(yīng)的會(huì)話

select sess_id,sql_text,state,trx_id from V$SESSIONS;
image.png

可以得到兩個(gè)事務(wù)對(duì)應(yīng)的會(huì)話 ID 和當(dāng)前執(zhí)行 SQL 語(yǔ)句左权,可以知道是哪些 SQL 語(yǔ)句產(chǎn)生的阻塞皮胡。

5.阻塞的解決方法

5.1 提交或回滾產(chǎn)生阻塞的事務(wù)。

根據(jù)上文赏迟,我們可知產(chǎn)生阻塞的事務(wù)會(huì)話 ID 為140168608750888 屡贺。此時(shí),我們只需要在該會(huì)話下提交或回滾事務(wù)锌杀,鎖自然會(huì)被釋放甩栈,阻塞解決。

5.2 關(guān)閉產(chǎn)生阻塞的會(huì)話

同樣糕再,我們也可以使用系統(tǒng)過(guò)程 SP_CLOSE_SESSION(SESS_ID)來(lái)關(guān)閉對(duì)應(yīng)的會(huì)話量没,具體使用方法如下。

SP_CLOSE_SESSION(140168608750888);
image.png

此時(shí)突想,鎖被釋放殴蹄,delete 操作也可以順利進(jìn)行下去。O_O

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蒿柳,一起剝皮案震驚了整個(gè)濱河市饶套,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌垒探,老刑警劉巖妓蛮,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異圾叼,居然都是意外死亡蛤克,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門夷蚊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)构挤,“玉大人,你說(shuō)我怎么就攤上這事惕鼓〗钕郑” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)矾飞。 經(jīng)常有香客問(wèn)我一膨,道長(zhǎng),這世上最難降的妖魔是什么洒沦? 我笑而不...
    開(kāi)封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任豹绪,我火速辦了婚禮,結(jié)果婚禮上申眼,老公的妹妹穿的比我還像新娘瞒津。我一直安慰自己,他們只是感情好括尸,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布巷蚪。 她就那樣靜靜地躺著,像睡著了一般姻氨。 火紅的嫁衣襯著肌膚如雪钓辆。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天肴焊,我揣著相機(jī)與錄音前联,去河邊找鬼。 笑死娶眷,一個(gè)胖子當(dāng)著我的面吹牛似嗤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播届宠,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼烁落,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了豌注?” 一聲冷哼從身側(cè)響起伤塌,我...
    開(kāi)封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轧铁,沒(méi)想到半個(gè)月后每聪,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡齿风,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年药薯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片救斑。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡童本,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出脸候,到底是詐尸還是另有隱情穷娱,我是刑警寧澤绑蔫,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站鄙煤,受9級(jí)特大地震影響晾匠,放射性物質(zhì)發(fā)生泄漏茶袒。R本人自食惡果不足惜梯刚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望薪寓。 院中可真熱鬧亡资,春花似錦、人聲如沸向叉。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)母谎。三九已至瘦黑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奇唤,已是汗流浹背幸斥。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咬扇,地道東北人甲葬。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像懈贺,于是被迫代替她去往敵國(guó)和親经窖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350