查詢 Oracle 使用者鎖的DLL SQL(轉)
查詢 Oracle 使用者鎖的DLL SQL,這是Oracle DBA的常使用到的,也是我每天必用的指令碼之一;執行此指令碼之前請用SYS使用者登入:
create or replace procedure SYS.EEDBA_RPT_BLOCKING_SID IS
cursor C1 is
select s.username Usrname,
s.osuser osuser,
s.sid,
s.type lock_type,
decode(lr.lmode,0,'None', 2,'SS',3,'SX',4,'S',5,'SSX',6,'EX') Mode_Held,
lr.type,
s.process UnixID,
s.machine machine,
s.terminal,
s.status,
a.owner||'.'||a.object_name object_hold,
lr.block,
s.program,
s.logon_time
from all_objects a, v$locked_object o, v$session s, v$lock lr
where (id1,id2) in (
select id1,id2
from v$lock le
where le.request > 0 )
and s.sid = lr.sid
and s.sid = o.session_id
and a.object_id (+)= o.object_id
order by lr.id1, lr.id2, lr.block desc ;
counter number := 0 ;
begin
dbms_output.new_line;
dbms_output.put_line('Username OSUser SID Mode Type UNIX ID '||
' Machine Terminal Active Object Logon Application');
dbms_output.put_line('======== ====== === ==== ==== ======= '||
' ======= ======== ====== ====== ===== ===========');
for r1 in C1 loop
if r1.block > 0 and counter > 0 then
dbms_output.put_line('.');
dbms_output.put_line('.');
end if;
if r1.block = 0 then
dbms_output.put('+ ');
end if;
dbms_output.put(r1.Usrname);
dbms_output.put(' ');
dbms_output.put(r1.osuser);
dbms_output.put(' ');
dbms_output.put(r1.sid);
dbms_output.put(' ');
dbms_output.put(r1.Mode_Held);
dbms_output.put(' ');
dbms_output.put(r1.type);
dbms_output.put(' ');
dbms_output.put(r1.UnixID);
dbms_output.put(' ');
dbms_output.put(r1.machine);
dbms_output.put(' ');
dbms_output.put(r1.terminal);
dbms_output.put(' ');
dbms_output.put(r1.status);
dbms_output.put(' ');
dbms_output.put(r1.object_hold);
dbms_output.put(' ');
dbms_output.put(r1.logon_time);
dbms_output.put(' ');
dbms_output.put_line(r1.program);
counter := counter + 1;
end loop;
if counter = 0 then
dbms_output.put_line('.');
dbms_output.put_line('NO Blocking found');
end if;
dbms_output.put_line('.');
dbms_output.put_line('.');
dbms_output.put_line('End of report');
end EEDBA_RPT_BLOCKING_SID ;
/
grant execute on SYS.EEDBA_RPT_BLOCKING_SID to system
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10144097/viewspace-934599/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 查詢session被鎖的sql(轉)SessionSQL
- ORACLE 鎖表的解決方法及查詢引起鎖表SQL語句[轉]OracleSQL
- ORACLE SQL的查詢表的鎖的情況OracleSQL
- oracle 查詢鎖 && 解鎖Oracle
- Oracle查詢鎖、解鎖Oracle
- SQL SERVER 查詢鎖資訊SQLServer
- oracle 鎖資訊查詢
- 【SQL】Oracle查詢轉換之 OR用法SQLOracle
- oracle常用經典SQL查詢 (轉)OracleSQL
- ORACLE 鎖表的解決方法及查詢引起鎖表SQL語句方法OracleSQL
- Oracle阻塞(鎖等待)查詢Oracle
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- 查詢oracle比較慢的session和SQL[轉]OracleSessionSQL
- 查詢並解除oracle的死鎖Oracle
- 查詢處理死鎖會話的sql語句(轉貼)會話SQL
- 查詢oracle效能SQLOracleSQL
- oracle常用SQL查詢OracleSQL
- Oracle SQL的遞迴查詢OracleSQL遞迴
- 【SQL】Oracle查詢轉換之謂詞推送SQLOracle
- [zt] Sql Server死鎖的查詢和解除SQLServer
- oracle 查詢殺死死鎖方案Oracle
- oracle 死鎖查詢處理Oracle
- SQL查詢語句 (Oracle)SQLOracle
- Oracle 常用SQL查詢列表OracleSQL
- 常用ORACLE查詢命令SQLOracleSQL
- Oracle遞迴查詢sqlOracle遞迴SQL
- 【SQL】Oracle查詢轉換之檢視合併SQLOracle
- 怎樣把Oracle查詢轉換為SQL ServerOracleSQLServer
- 在oracle查詢記錄時給記錄加鎖(轉)Oracle
- Oracle死鎖查詢及處理Oracle
- SQL查詢的轉義方法(一)SQL
- 查詢並刪除Oracle中等待的鎖Oracle
- Oracle 查詢轉換Oracle
- 查詢鎖的原因
- sql 開發篇一 之 表鎖查詢及解鎖SQL
- SQL Server如何查詢鎖已經kill lockSQLServer
- SQL學習之子查詢,基於Oracle下的HR使用者(四)SQLOracle
- Oracle 外來鍵查詢sqlOracleSQL