job运行失败分析方法
生活随笔
收集整理的這篇文章主要介紹了
job运行失败分析方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
確認job是否運行失敗:
在dba_jobs中的字段FAILURES表示job運行失敗的次數
?或者在alert日志中也可以看到job運行失敗的信息(當instance=0時,說明job沒有指定在某個節點執行,oracle會讓job在較為空閑的實例上執行,所以最好所有節點的alert日志都看下是否有關于ORA-12012、ORA-12545的job運行報錯)
?
定位job的運行失敗原因:
1.job_queue_processes
當job_queue_processes為0時,數據庫不會啟動job進程
參考命令:alter system set job_queue_processes=1000
SQL> show parameter procNAME TYPE VALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 1 cell_offload_processing boolean TRUE db_writer_processes integer 4 gcs_server_processes integer 3 global_txn_processes integer 1 job_queue_processes integer 1000 log_archive_max_processes integer 4 processes integer 5000 processor_group_name string2.job是否broken
broken為y表示不會運行job
SQL> select job,broken from dba_jobs where broken='Y';JOB B ---------- -244 Y366 Y參考命令:?exec dbms_job.broken(244,false);
3.查看日志
job運行失敗會在alert中輸出報錯信息。
Errors in file /oracle/app/oracle/diag/rdbms/xxx1/xxx12/trace/xxx12_j000_54788548.trc: ORA-12012: ?? 124 ORA-12545: ?ORA-06512: YxxxxB.P_xxx_M1", line 26 ORA-06512: ine 1 Errors in file /oracle/app/oracle/diag/rdbms/xxx1/xxx12/trace/xxx12_j002_60424558.trc: ORA-12012: ?? 265 ORA-12545: ?ORA-06512: YxxxB.P_xxxxM3", line 73比如上述例子中,job在運行到what中的第26行,73行出錯。這就表示job本身并沒有問題,已經成功調用,但是調用的內容有問題。
這就需要把what中的內容單獨拿出來運行并一步步調試
總結
以上是生活随笔為你收集整理的job运行失败分析方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转solarwinds-NPM.12.3
- 下一篇: 蓝桥杯 纸张尺寸