1.查詢正在執行的儲存過程
select name from v$db_object_cache where type like '%proce%' and locks >0 and pins >0;
2.找到對應儲存過程的sid
select sid from v$access o where o.object like 'sp_s_report_mobile%' (引數是儲存過程名稱)
3.根據sid找到對應的serial#
select sid,serial# from v$session a where a.sid=sid
4.終止執行儲存過程
alter system kill session 'sid,serial#' (例如:alter system kill session '1061,25354')
查阻塞select l.session_id sid, s.serial#,a.sql_text,l.locked_mode,l.oracle_username,
s.user#,l.os_user_name,s.machine,s.terminal,a.action
from v$sqlarea a,v$session s, v$locked_object l
where l.session_id = s.sid and s.prev_sql_addr = a.address;
--找出執行慢的語句 前20條
select *
from (select to_char(a.sql_fulltext) sql_text1 ,module,sql_id,
disk_reads / decode (executions, 0, 1, executions) as tt
from v$sqlarea a
where length(a.sql_fulltext)<4000
order by tt desc)
where rownum <= 20
檢視表空間大小
select a.tablespace_name,total,free,total-free used from
(select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files
group by tablespace_name) a,
(select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;
終止正在執行的執行緒
很多人都說使用abort方法來終止執行緒,其實這種做法並不可取!如果你的執行緒正在操作臨界資源,很有可能會造成資源沒有正確釋放而出現死鎖問題。正確的做法應該是使用標記來終止執行緒的執行。下面我們來看具體的操作步驟。首先定義乙個 停止 訊號變數 view plaincopy to clipboardp...
查詢Oracle正在執行的sql
查詢oracle正在執行的sql語句及執行該語句的使用者 select b.sid oracleid,b.username 登入oracle使用者名稱,b.serial spid 作業系統id,paddr,sql text 正在執行的sql,b.machine 計算機名 from v process...
查詢Oracle正在執行和執行過的SQL語句
正在執行的 select a.username,a.sid,b.sql text,b.sql fulltext from v session a,v sqlarea b where a.sql address b.address 執行過的 select b.sql text,b.first load...