超越自我

          一切皆有可能

           

          DB2和Oracle的鎖機(jī)制

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

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

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


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          相冊(cè)

          收藏夾

          UML

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 高要市| 都匀市| 会同县| 孝义市| 城步| 汉寿县| 台湾省| 白山市| 永兴县| 丁青县| 安国市| 东乌珠穆沁旗| 和顺县| 顺义区| 霍城县| 拉萨市| 铜川市| 南江县| 南丰县| 同江市| 西盟| 中牟县| 浦东新区| 枣强县| 重庆市| 白山市| 九龙县| 香河县| 资阳市| 奈曼旗| 重庆市| 吐鲁番市| 桐城市| 达孜县| 阜新市| 辽宁省| 定远县| 乳山市| 惠东县| 桐柏县| 龙南县|