程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 詳解在數據庫中Oracle如何解鎖

詳解在數據庫中Oracle如何解鎖

編輯:Oracle數據庫基礎

我們這裡將介紹Oracle如何解鎖,在被鎖之後我們也可以利用一些工具來進行解鎖。下面大家就一同來了解Oracle如何解鎖吧。

我們在操作數據庫的時候,有時候會由於操作不當引起數據庫表被鎖定,這麼我們經常不知道Oracle如何解鎖,不知怎麼給這些表解鎖,在pl/sql Developer工具的的菜單“tools”裡面的“sessions”可以查詢現在存在的會話,但是我們很難找到那個會話被鎖定了,想找到所以被鎖的會話就更難了,下面這叫查詢語句可以查詢出所以被鎖的會話。如下:

  1. SELECT   sn.username, m.SID,sn.SERIAL#, m.TYPE,  
  2.          DECODE (m.lmode,  
  3.                  0, \'None\',  
  4.                  1, \'Null\',  
  5.                  2, \'Row Share\',  
  6.                  3, \'Row Excl.\',  
  7.                  4, \'Share\',  
  8.                  5, \'S/Row Excl.\',  
  9.                  6, \'Exclusive\',  
  10.                  lmode, LTRIM (TO_CHAR (lmode, \'990\'))  
  11.                 ) lmode,  
  12.          DECODE (m.request,  
  13.                  0, \'None\',  
  14.                  1, \'Null\',  
  15.                  2, \'Row Share\',  
  16.                  3, \'Row Excl.\',  
  17.                  4, \'Share\',  
  18.                  5, \'S/Row Excl.\',  
  19.                  6, \'Exclusive\',  
  20.                  request, LTRIM (TO_CHAR (m.request, \'990\'))  
  21.                 ) request,  
  22.          m.id1, m.id2  
  23.     FROM v$session sn, v$lock m  
  24.    WHERE (sn.SID = m.SID AND m.request != 0)         --存在鎖請求,即被阻塞  
  25.       OR (    sn.SID = m.SID                         --不存在鎖請求,但是鎖定的對象被其他會話請求鎖定  
  26.           AND m.request = 0  
  27.           AND lmode != 4  
  28.           AND (id1, id2) IN (  
  29.                         SELECT s.id1, s.id2  
  30.                           FROM v$lock s  
  31.                          WHERE request != 0 AND s.id1 = m.id1  
  32.                                AND s.id2 = m.id2)  
  33.          )  
  34. ORDER BY id1, id2, m.request; 

通過以上查詢知道了sid和 SERIAL#就可以用了

  1. alter system kill session \'sid,SERIAL#\'
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved