隨筆-19  評論-5  文章-3  trackbacks-0
          比如有兩個(gè)用戶一個(gè)userA,一個(gè)userB
          當(dāng)userA發(fā)出 select * from 表名 for update of 字段 時(shí)
          這是紀(jì)錄被鎖住等待更新
          當(dāng)userB此時(shí)也發(fā)出select * from 表名 for update of 字段 時(shí)
          并且for update of 的紀(jì)錄已經(jīng)被userA鎖定
          這是userB只能等待userA提交后才能獲取到userA被占用的紀(jì)錄
          如果userA不提交userB就會(huì)無限期的等待
          解決方法
          userB執(zhí)行select * from 表名 for update of 字段 no wait 10;
          這時(shí)雖然紀(jì)錄被userA鎖定但是userB會(huì)等待10秒如果10秒內(nèi)userA釋放
          了紀(jì)錄,則userB獲取該鎖,如果10秒后userA未釋放鎖,則userB返回
          錯(cuò)誤消息
          ora-30006:資源已被占用;執(zhí)行此操作時(shí)出現(xiàn)wait超時(shí)

          --------------------------------------------------------------------

          userA鎖住一條紀(jì)錄
          userB鎖住一條紀(jì)錄
          userA請求鎖住userB正在鎖住的紀(jì)錄
          而同時(shí)userB請求鎖住userA正在鎖住的紀(jì)錄
          這時(shí)候就會(huì)產(chǎn)生死鎖

          --------------------------------------------------------------------

          如果在事務(wù)中執(zhí)行了一條不滿足條件的update語句,則執(zhí)行全表掃描,把行級(jí)鎖上升為表級(jí)鎖,多個(gè)這樣的事務(wù)執(zhí)行后,就很容易產(chǎn)生死鎖。
           
          版權(quán)歸原作者和各發(fā)布網(wǎng)站所有,此文章僅供學(xué)習(xí)參考之用 

          天天學(xué)習(xí),好好向上——

          posted on 2008-11-07 11:34 東頭bing阿頭 閱讀(1496) 評論(0)  編輯  收藏 所屬分類: DataBase



          主站蜘蛛池模板: 德钦县| 惠州市| 博野县| 常山县| 尚志市| 会理县| 苏州市| 阳春市| 潞西市| 轮台县| 密云县| 开鲁县| 吉林省| 永春县| 宜阳县| 扬州市| 淄博市| 富裕县| 定日县| 澄江县| 宜丰县| 土默特左旗| 云阳县| 灵璧县| 星座| 梁平县| 赤峰市| 鲁甸县| 故城县| 柘城县| 乌拉特前旗| 甘孜县| 辽阳市| 中山市| 崇信县| 塘沽区| 阳高县| 南平市| 玉山县| 庆安县| 乐清市|