<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ù)  更多評論
      
    主站蜘蛛池模板: 欧洲黑大粗无码免费| 亚洲国产av无码精品| 在线播放免费人成视频在线观看| 破了亲妺妺的处免费视频国产| 国产l精品国产亚洲区在线观看| 亚洲人成电影网站| 91成人免费福利网站在线| 青青久在线视频免费观看| 亚洲国产成a人v在线观看| 国产自国产自愉自愉免费24区 | jlzzjlzz亚洲乱熟在线播放| 亚洲一卡2卡3卡4卡乱码 在线| 精品久久久久成人码免费动漫| 亚洲午夜福利AV一区二区无码| 亚洲精品久久久久无码AV片软件| 无码国产精品一区二区免费3p| 亚洲国产精品综合久久网络 | 亚洲国产精品一区二区第四页| 日本免费精品一区二区三区| 免费精品国产日韩热久久| 亚洲人成色99999在线观看| 99视频在线精品免费| 亚洲色无码一区二区三区| 四虎成人精品永久免费AV| 亚洲国产精品久久人人爱| 国产偷伦视频免费观看| 亚洲中文字幕在线观看| 曰批全过程免费视频免费看| 亚洲宅男天堂在线观看无病毒| 精品一区二区三区无码免费视频| 亚洲日本va中文字幕久久| 最近2019年免费中文字幕高清 | 亚洲综合日韩久久成人AV| 99re热精品视频国产免费| 亚洲熟妇丰满xxxxx| 曰批视频免费30分钟成人| 最新亚洲人成网站在线观看| 国产成人免费手机在线观看视频| 亚洲熟妇无码av另类vr影视| 久久精品国产亚洲Aⅴ蜜臀色欲| xxxx日本在线播放免费不卡|