oracle调度不见了,Oracle作业job 没有自动调度起来
Oracle作業(yè)job沒有自動調(diào)度起來
問題:有一同事報過來,說有兩個job已經(jīng)近一周沒有自動調(diào)起了,讓我?guī)兔鉀Q。
1、檢查:
(1)在生產(chǎn)庫中檢查,其他的job都能自動調(diào)度
(2)select*fromall_jobswherejobin(2704,2706);檢查正常,并無異常(dba_jobs或PL/SQL Developer DBMS_Jobs也可查看)
(3)select*fromdba_jobs_runningwherejobin(2704,2706);在其列表中
結(jié)論:進(jìn)程掛死未完成,導(dǎo)致不能自動調(diào)度!
2、解決:先備份兩job的內(nèi)容再將job刪除,然后將進(jìn)程殺掉,并重建
(1)利用上面查出job運(yùn)行列表中的sid如3695,并查出哪些進(jìn)程需要?dú)⒌?#xff0c;查詢語句如下:
select'call superkill('||a.sid||','||a.SERIAL#||');'KILL_SID,
'kill -9 '||A.PROCESS||';'KILL_PID,A.SID,A.SERIAL#,A.STATUS,A.SCHEMANAME,A.USERNAME,A.MACHINE,OSUSER,A.PROCESS,A.PROGRAM,A.TERMINAL,
A.SERVICE_NAME,A.LOGON_TIME,A.OWNERID,
D.SQL_TEXT,D.SQL_FULLTEXT
fromgv$session a,v$sql d
wherea.SQL_ADDRESS=d.ADDRESS(+)
and(a.SCHEMANAME='REPORT'ora.USERNAME='REPORT')
anda.sid=3695
orderbya.MACHINE;
殺進(jìn)程:
(1)上面的superkill如下:
createorreplaceproceduresystem.superkill(SESSION_IDBINARY_INTEGER,SERIAL_NUM
BINARY_INTEGER)is
begin
executeimmediate'alter system disconnect session '''||SESSION_ID||','||SERIAL_NUM||'''
immediate';
EXCEPTION
WHENOTHERS
THEN
RAISE;
endsuperkill;
(2)也可用alter system kill session 'sid,serial#'; 但推薦使用 alter system disconnect session? 'sid,serial#';
之間的區(qū)別可參考
(3)重建job
如job:2706的重建:
begin
sys.dbms_job.isubmit(job=>2706,
what=>'declare
vc_out varchar2(2000);
begin
SP_SAP_NEWINCOME_ALL(to_char(SYSDATE-1,''yyyymmdd''),to_char(SYSDATE-1,''yyyymmdd''));
pkg_dic_day_report_2011.Dic_day_all_report_2011(to_char(SYSDATE-1,''yyyymmdd''));
pkg_dic_day_report_2010.DiC_Day_Move_Busi(vc_out,to_char(SYSDATE-1,''yyyymmdd''));
pkg_dic_day_report_2010.DiC_Pst_YW(vc_out,to_char(SYSDATE-1,''yyyymmdd''));
end;',
next_date=>trunc(SYSDATE)+1+17/24,
interval=>'trunc(SYSDATE)+1+17/24');
commit;
end;
/
第二天檢查兩job都已正常自動調(diào)度。
注:之所以要刪掉原job是方便后面殺進(jìn)程,其實(shí)還有一個方法是 PL/SQL Developer DBMS_Jobs 右擊對應(yīng)job“編輯” 然后勾選"broken" (已斷掉,或 dbms_job.broken(job_id, true); 此處的job_id就是2706,true為斷開,false為未斷開)再殺進(jìn)程,等殺完之后再去掉勾選。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的oracle调度不见了,Oracle作业job 没有自动调度起来的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle presentation
- 下一篇: 服务器上的电脑登不上oracle,Ora