2023年6月14日 星期三

[ORACLE]於Linux關閉排程的process後,發現程式仍在執行該如何停止

用system帳號,先確認現在有沒有JOB在跑,並取得SID跟JOB欄位

select * from dba_jobs_running;

若Job仍再跑,則先停止Job

EXEC DBMS_JOB.BROKEN( [剛剛取得的JOB欄位] , TRUE);

接著就可刪除Session,刪除方法有兩種

1. 

ALTER SYSTEM KILL SESSION 'sid,serial#';


確認沒job在跑,檢查現在的job_queue數值

select name,value from v$parameter where name ='job_queue_processes';


發現job_queue_processes數值為1000,接下來直接暴力處理,

將job_queue_processes改為0,將queue歸0,把全部的queue踢掉。

ALTER SYSTEM SET job_queue_processes = 0;


最後將job_queue_processes改回原數值

ALTER SYSTEM SET job_queue_processes = 1000;

沒有留言:

張貼留言