隨筆-13  評論-28  文章-63  trackbacks-0
          我們在操作數據庫的時候,有時候會由于操作不當引起數據庫表被鎖定,這么我們經常不知所措,不知怎么給這些表解鎖,在pl/sql Developer工具的的菜單“tools”里面的“sessions”可以查詢現在存在的會話,但是我們很難找到那個會話被鎖定了,想找到所以被鎖的會話就更難了,下面這叫查詢語句可以查詢出所以被鎖的會話。如下:

          SELECT?? sn.username, m.SID,sn.SERIAL#, m.TYPE,
          ???????? DECODE (m.lmode,
          ???????????????? 0, 'None',
          ???????????????? 1, 'Null',
          ???????????????? 2, 'Row Share',
          ???????????????? 3, 'Row Excl.',
          ???????????????? 4, 'Share',
          ???????????????? 5, 'S/Row Excl.',
          ???????????????? 6, 'Exclusive',
          ???????????????? lmode, LTRIM (TO_CHAR (lmode, '990'))
          ??????????????? ) lmode,
          ???????? DECODE (m.request,
          ???????????????? 0, 'None',
          ???????????????? 1, 'Null',
          ???????????????? 2, 'Row Share',
          ???????????????? 3, 'Row Excl.',
          ???????????????? 4, 'Share',
          ???????????????? 5, 'S/Row Excl.',
          ???????????????? 6, 'Exclusive',
          ???????????????? request, LTRIM (TO_CHAR (m.request, '990'))
          ??????????????? ) request,
          ???????? m.id1, m.id2
          ??? FROM v$session sn, v$lock m
          ?? WHERE (sn.SID = m.SID AND m.request != 0)????????
          ????? OR (??? sn.SID = m.SID???????????????????????
          ????????? AND m.request = 0
          ????????? AND lmode != 4
          ????????? AND (id1, id2) IN (
          ??????????????????????? SELECT s.id1, s.id2
          ????????????????????????? FROM v$lock s
          ???????????????????????? WHERE request != 0 AND s.id1 = m.id1
          ?????????????????????????????? AND s.id2 = m.id2)
          ???????? )ORDER BY id1, id2, m.request;
          通過以上查詢知道了sid和 SERIAL#就可以開殺了
          ?? alter system kill session 'sid,SERIAL#';
          posted on 2006-08-24 11:32 七匹狼 閱讀(2755) 評論(1)  編輯  收藏 所屬分類: oracle

          評論:
          # re: 查看oracle 10g 數據庫中被鎖定的行和表的sql 2006-08-27 22:33 | 冰川
          Oracle 10g?
          是最新的Oracle版本嗎?  回復  更多評論
            
          主站蜘蛛池模板: 昌平区| 华安县| 冕宁县| 屯留县| 阿拉善盟| 鄢陵县| 泽州县| 平阴县| 门源| 长宁区| 连云港市| 民乐县| 宁夏| 密山市| 兰西县| 大冶市| 得荣县| 陆川县| 班戈县| 天峨县| 昌邑市| 涡阳县| 清水河县| 东平县| 定安县| 高邮市| 河津市| 大化| 台江县| 珠海市| 峨边| 桂东县| 古交市| 衡南县| 平遥县| 株洲市| 文水县| 鹤壁市| 井研县| 塘沽区| 玉田县|