<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-13  評論-28  文章-63  trackbacks-0
    DML會產(chǎn)生行鎖,只有該行的鎖解開后才可繼續(xù)對改行進(jìn)行其他的DML,若新的DML和舊的DML操作的行相同,且舊DML以把行改變,則新DML不起作用

    準(zhǔn)備工作:
    SQL>create table lck (a number, b number);
    SQL>insert into lck values (1,1);
    SQL>insert into lck values (2,2);
    SQL>insert into lck values (3,3);
    SQL>insert into lck values (4,4);
    SQL>insert into lck values (5,5);
    SQL>insert into lck values (6,6);
    SQL>insert into lck values (7,7);
    SQL>commit;

    實驗過程:

    步 驟Session 14Session 10說明
    1SQL> select sid from v$session
    where audsid=
    userenv('SESSIONID');

    SID
    ----------
    14
    SQL> select sid from v$session
    where audsid=
    userenv('SESSIONID');

    SID
    ----------
    10
    獲得當(dāng)前session的SID
    2SQL> insert into lck values (1000,1001);

    1 row created.
     未提交
    3SQL> select sid,type,id1,lmode,request from v$lock
    where sid in (10,14);

    SID TY ID1 LMODE REQUEST
    ---------- -- ---------- ---------- ----------
    14 TX 262153 6 0
    14 TM 4145 3 0
     因為Session14的DML未提交,因此在v$lock里產(chǎn)生2個鎖,一個為:transaction lock(TX),另一個為:DML/table lock(TM).LMODE=3代表:行排它.LMODE=6代表:對象排它
    4SQL> insert into lck values (1001,1000);

    1 row created.
     未提交
    5SQL> select sid,type,id1,lmode,request from v$lock
    where sid in (10,14);

    SID TY ID1 LMODE REQUEST
    ---------- -- ---------- ---------- ----------
    14 TX 262153 6 0
    14 TM 4145 3 0
    SQL> select * from lck;

    A B
    ---------- ----------
    1 2
    2 4
    3 6
    4 8
    5 3
    6 5
    7 7

    7 rows selected.
    v$lock中并不會因為對該表的再一次DML且未提交而新生成鎖
    6 SQL>update lck set a=2000,b=2001
    where a=1;

    1 row updated.
    未提交
    7SQL> select * from lck;

    A B
    ---------- ----------
    1 2
    2 4
    3 6
    4 8
    5 3
    6 5
    7 7
    1000 1001
    1001 1000

    9 rows selected.
    SQL> select sid,type,id1,lmode,request from v$lock
    where sid in (10,14);

    SID TY ID1 LMODE REQUEST
    ---------- -- ---------- ---------- ----------
    10 TX 327698 6 0
    10 TM 4145 3 0
    14 TX 262153 6 0
    14 TM 4145 3 0
    v$lock中對另外session10的DML產(chǎn)生了鎖
    8SQL>update lck set a=4000,b=2001
    where a=1;
     session10發(fā)出更新a=1行的SQL后,session14也發(fā)出更新a=1行的SQL,則后者的SQL懸在那里,無法結(jié)束
    9SQL> select event, seconds_in_wait, sid from v$session_wait where sid in (10,14);

    EVENT SECONDS_IN_WAIT SID
    ---------------------------------------------------------------- --------------- ----------
    enq: TX - row lock contention 1593 14
    SQL*Net message from client 2862 10
    v$session_wait中可以看到哪個session在等待,等待原因和已經(jīng)等待的時間
    100 rows updated.
     
    SQL>commit;

    Commit complete.
    只有在session10提交該DML后,session14才執(zhí)行完,但更新為0行
    11SQL> select * from lck;

    A B
    ---------- ----------
    1 2
    2 4
    3 6
    4 8
    5 3
    6 5
    7 7
    1000 1001
    1001 1000

    9 rows selected.
    SQL> select * from lck;

    A B
    ---------- ----------
    1 2
    2 4
    3 6
    4 8
    5 3
    6 5
    7 7
    1000 1001
    1001 1000

    9 rows selected.
     

    筆記來源: http://www.adp-gmbh.ch/ora/concepts/lock.html

    posted on 2006-08-24 13:14 七匹狼 閱讀(1863) 評論(2)  編輯  收藏 所屬分類: oracle

    評論:
    # re: oracle 10g 解鎖的相關(guān)操作 2006-08-27 22:31 | 冰川
    支持  回復(fù)  更多評論
      
    # re: oracle 10g 解鎖的相關(guān)操作 2009-01-19 09:39 | w
    受教咯```  回復(fù)  更多評論
      
    主站蜘蛛池模板: 中文字幕在线亚洲精品| 91午夜精品亚洲一区二区三区| 光棍天堂免费手机观看在线观看 | 永久在线毛片免费观看| 2022免费国产精品福利在线| 亚洲AV无码久久| 午夜两性色视频免费网站| 巨胸狂喷奶水视频www网站免费| 日韩精品一区二区亚洲AV观看| 成人毛片免费播放| 日本高清不卡aⅴ免费网站| 77777午夜亚洲| 国产亚洲成人在线播放va| 国内精自视频品线六区免费| 成人免费网站视频www| 亚洲精品电影天堂网| 亚洲VA综合VA国产产VA中| 最近最新高清免费中文字幕| 老司机午夜性生免费福利| 亚洲永久中文字幕在线| 亚洲欧洲自拍拍偷精品 美利坚| 美女视频黄免费亚洲| 中文字幕在线视频免费| 亚洲丶国产丶欧美一区二区三区| 亚洲va中文字幕无码久久不卡| 日日AV拍夜夜添久久免费| 久久免费的精品国产V∧| 一级做α爱过程免费视频| 中文有码亚洲制服av片| 亚洲人成电影在在线观看网色| 亚洲国产午夜中文字幕精品黄网站| 久久99九九国产免费看小说| 久久狠狠躁免费观看2020| 一级人做人a爰免费视频| 亚洲AV无码精品国产成人| 亚洲伊人久久精品| 亚洲最大成人网色| 亚洲国产精品无码久久久蜜芽 | 久久久久亚洲AV成人无码| 亚洲中文字幕伊人久久无码| 免费视频中文字幕|