超越自我

          一切皆有可能

           

          DB2和Oracle的鎖機制

          DB2和Oracle的鎖機制
          1.DB2的鎖
          具體詳見轉(zhuǎn)貼
          http://www-900.ibm.com/cn/support/nav/200402/p45-1.shtml
          2.Oracle的鎖
          1>行級鎖:tx
          ??行被排他鎖定;
          ??在某行的鎖被釋放之前,其他用戶不能修改此行;
          ??使用commit或者rollback命令釋放;
          ????? 使用insert,update的時候自動被上鎖;
          ????? 用select ...for update語句獲得行級鎖:被加鎖的對象是所有
          ????? 被select 到的行;
          ????? 防止其他用戶修改此行,但可以查詢;
          ????? 具體的形式為:
          ????? ??如果鎖定所有列:select..for update;
          ????? ??鎖定特定列:select ..for update of ename;
          ????? ? 不合理的是:當(dāng)一個用戶鎖定時,別的用戶不知道,只會等;
          ????? ? 所以用select ..for update wait(second):
          ????? ??超過secong秒后加鎖的用戶還沒有解鎖的話,
          ????? ??其他等待也嘗試加鎖的的用戶就會得到一個錯誤信息;

          ?2>表級鎖:tm?
          ??可以設(shè)置為三種模式:Lock table userID.tablename in [] mode;
          ??共享:其他用戶只能查詢,不能更新,刪除,插入;
          ??a.多個用戶可以同時對同一個表設(shè)置共享鎖;
          ???
          ??b.共享更新:in share update mode;
          ???鎖定要被更新的行,其他用戶可以同時查詢,
          ???插入,更新未被鎖定的行,即未被更新的行;
          ?? 等于select..for update;
          ???允許多個用戶同時鎖定表中不同的行;
          ??c.排他:
          ???僅允許其他用戶查詢,不允許插入,刪除,更新;
          ???在同時間僅允許一個用戶在表上放置排他鎖;
          ???如果加上nowait的話,如果發(fā)現(xiàn)該表已經(jīng)被鎖定,
          ???就不再等待,立即返回一個錯誤信息;

          posted on 2006-06-29 17:50 jame 閱讀(382) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          UML

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 昌吉市| 屯门区| 南丰县| 咸丰县| 江油市| 虎林市| 广东省| 宁晋县| 精河县| 苏尼特右旗| 唐山市| 简阳市| 崇信县| 平谷区| 尤溪县| 六盘水市| 新巴尔虎左旗| 建始县| 建德市| 荣成市| 商水县| 同江市| 麻阳| 育儿| 昌黎县| 儋州市| 凌海市| 扎赉特旗| 凤山市| 通道| 扶沟县| 专栏| 太湖县| 平顺县| 甘孜县| 瑞丽市| 鲜城| 龙井市| 衡山县| 精河县| 西乌|