ORACLE 殺死 正在執行的 SQL

2021-09-19 04:16:50 字數 1413 閱讀 6415

查詢 正在執行的sql

select b.sid oracleid,

b.username 登入oracle使用者名稱,

b.serial#,

spid 作業系統id,

paddr,

sql_text 正在執行的sql,

b.machine 計算機名

from v$process a, v$session b, v$sqlarea c

where a.addr = b.paddr

and b.sql_hash_value = c.hash_value

上面的查詢方式效率有點慢:

select b.sid oracleid,

b.username 登入oracle使用者名稱,

b.serial#,

spid 作業系統id,

paddr,

sql_text 正在執行的sql,

b.machine 計算機名

from v$session b

left join v$process a on a.addr = b.paddr

left join v$sqlarea c on b.sql_hash_value = c.hash_value

結果:

如何寫 殺死程序的sql 

alter system kill session ',';    如下:

殺死程序:

alter system kill session '1345,20312';

alter system kill session '4,21443';

alter system kill session '1342,35376';

如果上面的 正在執行的 sql 已經殺完了 還是執行sql 會卡住 可以試試:

--檢視鎖住的表

select a.*,b.* from v$locked_object a,dba_objects b where b.object_id = a.object_id

--檢視鎖住的session

select t2.username,t2.sid,t2.serial#,t2.logon_time 

from v$locked_object t1,v$session t2 

where t1.session_id=t2.sid order by t2.logon_time;

--殺掉會話

alter system kill session '9074,53939';

Android殺死正在執行的程序

記得剛開始學習時有乙個killbackgroundprocess packagename 的方法 通過這種方法先獲取到執行程序包名,然後 actmanager.killbackgroundprocesses packagename 殺死他們 殺死後台程序,需要許可權 kill background ...

oracle 停止正在執行的job

oracle如何停止乙個job 1 相關表 檢視 2 問題描述 為同事解決乙個因為網路連線情況不佳時,執行乙個超長時間的sql插入操作。既然網路狀況不好,就選擇了使用一次性使用job來完成該插入操作。在job執行一段時間後,我發現被插入表有些問題 慚愧,當時也沒有先檢查檢查就做了 準備停止job,因...

查詢Oracle正在執行的sql

查詢oracle正在執行的sql語句及執行該語句的使用者 select b.sid oracleid,b.username 登入oracle使用者名稱,b.serial spid 作業系統id,paddr,sql text 正在執行的sql,b.machine 計算機名 from v process...