You are on page 1of 3

Select de bloqueos de tabla

SELECT lk.SID, se.username, se.osuser, se.machine, DECODE (lk.TYPE, 'TX', 'Transaction', 'TM', 'DML', 'UL', 'PL/SQL User Lock', lk.TYPE ) lock_type, DECODE (lk.lmode, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR (lk.lmode) ) mode_held, DECODE (lk.request, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR (lk.request) ) mode_requested, TO_CHAR (lk.id1) lock_id1, TO_CHAR (lk.id2) lock_id2, ob.owner, ob.object_type, ob.object_name, lk.BLOCK, se.lockwait FROM v$lock lk, DBA_OBJECTS ob, v$session se WHERE lk.TYPE IN ('TM', 'UL') AND lk.SID = se.SID AND lk.id1 = ob.object_id(+) --And and ob.object_name='IWAYLOGS.WS_LOGS'; ---Matar una Sesin ---- cuando se queda pegada y no puedes por el toad Restriccin: estar en el mismo servidor C:\Documents and Settings\operadormtc>cd E:\oracle\product\10.1.0\Db_1\BIN C:\Documents and Settings\operadormtc>E: E:\oracle\product\10.1.0\Db_1\BIN>orakill sadmin 3408 Kill of thread id 3408 in instance sadmin successfully signalled.

SELECT

BS.USERNAME "Blocking User", BS.USERNAME "DB User", WS.USERNAME "Waiting User", BS.SID "SID", WS.SID "WSID", BS.SERIAL# "Serial#", BS.SQL_ADDRESS "address", BS.SQL_HASH_VALUE "Sql hash", BS.PROGRAM "Blocking App", WS.PROGRAM "Waiting App", BS.MACHINE "Blocking Machine", WS.MACHINE "Waiting Machine", BS.OSUSER "Blocking OS User", WS.OSUSER "Waiting OS User", BS.SERIAL# "Serial#", WS.SERIAL# "WSerial#", DECODE(WK.TYPE,'MR','Media Recovery', 'RT','Redo Thread', 'UN','USER Name', 'TX','Transaction', 'TM','DML', 'UL','PL/SQL USER LOCK', 'DX','Distributed Xaction', 'CF','Control FILE', 'IS','Instance State', 'FS','FILE SET', 'IR','Instance Recovery', 'ST','Disk SPACE Transaction', 'TS','Temp Segment', 'IV','Library Cache Invalidation', 'LS','LOG START OR Switch', 'RW','ROW Wait', 'SQ','Sequence Number', 'TE','Extend TABLE', 'TT','Temp TABLE', WK.TYPE) LOCK_TYPE, DECODE(HK.LMODE,0,'None', 1,'NULL', 2,'ROW-S (SS)', 3,'ROW-X (SX)', 4,'SHARE', 5,'S/ROW-X (SSX)', 6,'EXCLUSIVE', TO_CHAR(HK.LMODE)) MODE_HELD, DECODE(WK.REQUEST,0,'None', 1,'NULL', 2,'ROW-S (SS)', 3,'ROW-X (SX)', 4,'SHARE', 5,'S/ROW-X (SSX)', 6,'EXCLUSIVE', TO_CHAR(WK.REQUEST)) MODE_REQUESTED, TO_CHAR(HK.ID1) LOCK_ID1, TO_CHAR(HK.ID2) LOCK_ID2,

DECODE(HK.BLOCK,0,'NOT Blocking', /* Not blocking any other processes */ 1,'Blocking', /* This lock blocks other processes */ 2,'Global', /* This lock is global, so we can't tell */ TO_CHAR(HK.BLOCK)) BLOCKING_OTHERS FROM V$LOCK HK, V$SESSION BS, V$LOCK WK, V$SESSION WS WHERE HK.BLOCK = 1 AND HK.LMODE != 0 AND HK.LMODE != 1 AND WK.REQUEST != 0 AND WK.TYPE (+) = HK.TYPE AND WK.ID1 (+) = HK.ID1 AND WK.ID2 (+) = HK.ID2 AND HK.SID = BS.SID (+) AND WK.SID = WS.SID (+) AND (BS.USERNAME IS NOT NULL) AND (BS.USERNAME <> 'SYSTEM') AND (BS.USERNAME <> 'SYS') ORDER BY 1; select nvl(ses.USERNAME,'ORACLE PROC') username, OSUSER os_user, PROCESS pid, ses.SID sid, SERIAL#, PHYSICAL_READS, BLOCK_GETS, CONSISTENT_GETS, BLOCK_CHANGES, CONSISTENT_CHANGES from v$session ses, v$sess_io sio where ses.SID = sio.SID order by PHYSICAL_READS, ses.USERNAME SELECT object_name FROM dba_objects, v$lock WHERE object_id = id1 AND type = 'TM'

Sentencia para ubicar proceso que bloquea objeto (Process_Id - P.SPID) Select s.sid, 'alter system kill session ' || ''''|| s.sid || ',' || s.serial# || '''',
'kill -9 '||P.SPID as Process_Id, s.sql_hash_value as sql_hash, s.last_call_et as last_call, s.status, s.osuser, s.event, s.username, s.program, s.logon_time, s.machine, s.p1raw,s.p2raw

From v$session s, v$process p Where s.paddr = p.addr and s.type <> 'BACKGROUND' and S.EVENT != 'SQL*Net message from client' order by s.status, s.last_call_et desc

You might also like