停掉正在執行的JOB
今天需要將執行的JOB停掉,在後臺已經kill掉了session和process,但是發現job的totaltime還在增,沒有停止的跡象,感覺是不是沒有停掉,於是自己在本機做了個測試,測試步驟如下:
1、先建立一個job:
begin
sys.dbms_job.submit(job => :job,
what => 'update dept t set t.dname=1;
dbms_lock.sleep(9000);',
next_date => to_date('17-01-2010 18:36:43', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'sysdate+1/24');
commit;
end;
/
目的就是對一個表進行dml操作,然後程式開始睡眠,
2、此時查詢:
select * from v$lock t where t.type IN ('TM','TX');
會有兩條記錄,代表現在的job還處於執行狀態。
3、
select p.spid,pid,s.sid,s.serial# from dba_jobs_running r,dba_jobs j,v$process p,v$session s
where j.WHAT like '%dbms_lock.sleep%'
and j.JOB = r.JOB and r.SID = s.sid and s.paddr= p.addr;
select * from v$lock t where t.type='JQ';
執行以上SQL,確定執行JOB的sid和pid,
4、最後開始清理:
alter system kill session '135,5';
kill -9 4620
5、查詢job資訊
select p.spid,pid,s.sid,s.serial# from dba_jobs_running r,dba_jobs j,v$process p,v$session s
where j.WHAT like '%dbms_lock.sleep%'
and j.JOB = r.JOB and r.SID = s.sid and s.paddr= p.addr;
select * from v$lock t where t.type='JQ';
發現job的執行資訊已經沒有了
6、查詢lock檢視
select * from v$lock t where t.type IN ('TM','TX');發現此時對dept表的dml鎖已經沒有了,說明job已經被停止了,
7、查詢job,發現totaltime還在繼續增長,於是肯定的確定這是假象,於是把job刪掉,重建
8、OK
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10130206/viewspace-626908/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 停掉oracle自帶jobOracle
- 查詢當前正在執行的job的情況
- 查詢有多少JOB正在執行,程式被hang住
- oracle建立job並執行jobOracle
- job任務均不執行,手工執行報job now running
- 定義JOB的執行間隔
- Job不能執行原因分析
- Elasticjob執行job冪等AST
- Kill執行中的JOB的問題
- 檢視正在執行的SQLSQL
- 怎樣停止一個正在執行的執行緒執行緒
- oracle job使用詳解及job不執行的檢查方法Oracle
- oracle 正在執行的物件查詢Oracle物件
- gdb除錯正在執行的程式除錯
- 建立job進行重新整理物化檢視,job執行失敗。
- linux下面顯示所有正在執行的執行緒Linux執行緒
- 如何正確終止正在執行的子執行緒執行緒
- xxl-job執行器的註冊
- spark job執行引數優化Spark優化
- saltstack非同步執行命令: job ID非同步
- 物化檢視job無法執行
- 【Java面試】如何中斷一個正在執行的執行緒?Java面試執行緒
- Oracle檢視正在執行的SQL以及執行計劃分析OracleSQL
- 查詢Oracle正在執行和執行過的SQL語句OracleSQL
- Jerkins中job執行進行HTTP通知HTTP
- pgrep查詢正在執行的程式ID
- 查詢正在執行的SQL語句SQL
- MySQL 5.7獲取指定執行緒正在執行SQL的執行計劃資訊MySql執行緒
- 【RAC】rac中如何指定job的執行例項
- Job長時間執行不能退出的分析
- Oracle執行JOB報ORA-27492:無法執行作業Oracle
- Oracle - 執行過的SQL、正在執行的SQL、消耗資源最多的SQLOracleSQL
- Oracle中job無法自動執行Oracle
- 採用job定時執行recover datafile
- 檢視正在執行的儲存過程儲存過程
- 查詢Oracle正在執行的SQL語句OracleSQL
- 檢視mysql正在執行的SQL語句MySql
- 檢視資料中正在執行的sqlSQL