apachi117 发表于 2013-1-28 19:13:15

查看锁表进程SQL语句

1SELECT   S.SID SESSION_ID, S.USERNAME, DECODE(LMODE,0 ,' None ' ,1 ,' Null ' ,2 ,' Row-S (SS) ' ,3 ,' Row-X (SX) ' ,   4 ,' Share ' ,5 ,' S/Row-X (SSX) ' ,   6 ,' Exclusive ' , TO_CHAR(LMODE)) MODE_HELD, DECODE(REQUEST,0 ,' None ' ,1 ,' Null ' ,2 ,' Row-S (SS) ' ,3 ,' Row-X (SX) ' ,4 ,' Share ' ,5 ,' S/Row-X (SSX) ' ,6 ,' Exclusive ' , TO_CHAR(REQUEST)) MODE_REQUESTED, O.OWNER || ' . ' || O. OBJECT_NAME || '( ' || O.OBJECT_TYPE || ' ) ' , S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, L.ID2 LOCK_ID2 FROMV$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S WHEREL.SID=S.SIDAND   L.ID1=O. OBJECT_ID执行上记SQL语句,可以查寻到数据库中的锁的情报.SESSION_ID, USERNAME,MODE_HELD,MODE_REQUESTED, OBJECT_NAME, LOCK_TYPE, LOCK_ID分别是 拥有锁的SESSION_ID,拥有锁的USERNAME,锁的执行模式MODE_HELD,锁的请求MODE_REQUESTED,锁所在的数据库对象名,锁的类型,锁的ID2、查看锁表进程SQL语句1:select sess.sid,    sess.serial#,    lo.oracle_username,    lo.os_user_name,    ao.object_name,    lo.locked_mode    from v$locked_object lo,    dba_objects ao,    v$session sesswhere ao.object_id = lo.object_id and lo.session_id = sess.sid;查看锁表进程SQL语句2:select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;杀掉锁表进程:如有記錄則表示有lock,記錄下SID和serial# ,將記錄的ID替換下面的738,1429,即可解除LOCKalter system kill session '738,1429';
页: [1]
查看完整版本: 查看锁表进程SQL语句