Oracle 被鎖表管理

來源:互聯網
上載者:User

        由於各種原因,Oracle 中經常會出現表被鎖定的現象,使的操作無法進行。

        第一、與表鎖有關的系統檢視表:

              A : v$lock

SQL> desc v$lock;
Name    Type        Nullable Default Comments
------- ----------- -------- ------- --------
ADDR    RAW(8)      Y                        
KADDR   RAW(8)      Y                        
SID     NUMBER      Y                        
TYPE    VARCHAR2(2) Y                        
ID1     NUMBER      Y                        
ID2     NUMBER      Y                        
LMODE   NUMBER      Y                        
REQUEST NUMBER      Y                        
CTIME   NUMBER      Y                        
BLOCK   NUMBER      Y

該視圖說明當前鎖定的所有對象,鎖定都的SID號,鎖定類型等資訊;

B: v$locked_object

SQL> desc v$locked_object;
Name            Type         Nullable Default Comments
--------------- ------------ -------- ------- --------
XIDUSN          NUMBER       Y                        
XIDSLOT         NUMBER       Y                        
XIDSQN          NUMBER       Y                        
OBJECT_ID       NUMBER       Y                        
SESSION_ID      NUMBER       Y                        
ORACLE_USERNAME VARCHAR2(30) Y                        
OS_USER_NAME    VARCHAR2(30) Y                        
PROCESS         VARCHAR2(12) Y                        
LOCKED_MODE     NUMBER       Y   

        用以詳細的描述了當前鎖定對象的詳細資料,OBJECT_ID 為對象ID,SESSION_ID為當前登入使用者Session號,ORACLE_USERNAME 為Oracle的使用者名稱,OS_USER_NAME 為作業系統使用者名稱等等。

        針對以上兩個系統檢視表,相應的有兩種查詢當前表鎖的方法:

SQL> select all_objects.object_name,
  2         S.SID,
  3         s.serial#,
  4         s.osuser,
  5         s.PROGRAM,
  6         s.machine,
  7         s.CLIENT_INFO
  8    from v$lock k, v$session s, ALL_OBJECTS
  9   where k.SID = s.SID
 10     and k.TYPE IN ('TX', 'TM')
 11     and k.id1 = all_objects.object_id;

OBJECT_NAME   SID    SERIAL#      OSUSER   PROGRAM     MACHINE          CLIENT_INFO
-----------  -----    ------      ------- --------     --------         ------------
DL_PORT       153     2      Administrator  mdiapp.exe WN-WHZ/GUANXIAN1 135.135.140.101
DL_LOCAL_PORT 153     2      Administrator  mdiapp.exe WN-WHZ/GUANXIAN1 135.135.140.101

使用該種方法時,效率較低。

第二種:

SQL> select o.object_name,
  2         l.session_id,
  3         s.serial#,
  4         s.program,
  5         s.username,
  6         s.command,
  7         s.machine,
  8         s.lockwait
  9    from v$locked_object l, all_objects o, v$session s
 10   where o.object_id = l.object_id
 11     and s.sid = l.session_id
 12  ;

OBJECT_NAME   SESSION_ID    SERIAL# PROGRAM     USERNAME   COMMAND  MACHINE            LOCKWAIT
----------      ---------- -------- ---------   --------   -------  -------            ----------
DL_LOCAL_PORT  190          3       mdiapp.exe  GSGIS      0        WORKGROUP/QYGIS19                      
DL_PORT        190          3       mdiapp.exe  GSGIS      0        WORKGROUP/QYGIS19

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.