Oracle dbms_job.submit參數錯誤導致問題(ora-12011 無法執行1作業)


今天用Submit方法提交一個作業后. 手動運行其作業,一直報 Ora-12011錯誤.

先引用一段submit方法的格式:

DBMS_JOB.SUBMIT(:jobno,//job號   
                              'your_procedure;',//要執行的過程   
                               trunc(sysdate)+1/24,//下次執行時間   
                               'trunc(sysdate)+1/24+1'//每次間隔時間   
                             ); 

過程描述:

1: 如下代碼,生成一個Job. 生成順利並成功

declare
jobnum number;
begin
 dbms_job.submit(jobnum,'Pro1',sysdate,'last_day(sysdate)+1',true);
end;

 2:手動運行Job. 出現ora-12011 無法執行1作業錯誤. 以為是存儲過程有問題.但單獨Test存儲過程,並沒有出現任何問題.

3:查詢DB的alert.log文件. 出現以下一段話:

Wed Apr 17 16:43:04 2013
Errors in file d:\oracle\product\10.2.0\admin\gcms\udump\gcms_ora_4012.trc:
ORA-12012: 自動執行作業 86 出錯
ORA-06550: 第 1 行, 第 110 列:
PLS-00103: 出現符號 ""在需要下列之一時:
 := . ( @ % ;
符號 ";" 被替換為 "" 后繼續。

從以上文字可以看出. 因為存儲過程本身沒有問題.應該是在對Job進行運行前分析的時候發生問題.隱隱記得,要用Submit時,What參數是以分號結束.

4: Drop Job, Rebuild Job 

 

declare
jobnum number;
begin
 dbms_job.submit(jobnum,'Pro1;',sysdate,'last_day(sysdate)+1',true);
end;

 

   再次手動運行存儲過程,一切正常.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM