oracle定時任務定時無效的原因分析與解決
創建oracle定時任務定時任務並沒有按時執行
由於項目需要同步其他系統數據庫數據庫,在創建完dblink,存儲過程後,新建瞭一個dbm_job任務,滿心期待的可以早點下班時,卻發現定時任務並沒有按照時間執行。
創建定時任務JOB(63)定時任務並沒有執行
原因分析:
可能數據庫對於JOB的功能並沒有開啟,於是引著這個方向去尋找解決方法。
解決方案:
通過查閱資料發現原來有一個參數job_queue_processes數字為0是定時任務都不會執行,查詢的sql如下:
select value from v$parameter where name like '%job_queue_processes%';
修改參數job_queue_processes 大於0,我這兒設置為瞭10(大傢可以適當調大一些)
alter system set job_queue_processes =10;
再次重新測試:
補充:參數job_queue_processes貌似是定時任務隊列進程,查瞭資料補上如下:
1、job_queue_processes取值范圍為0到1000,總共可創建多少個job進程由job_queue_processes參數來決定。
2、當job_queue_processes大於1時,且並行執行job時,至少一個為協調進程。其總數不會超出job_queue_processes的值。
3、job_queue_processes參數的值為且DBMS_JOB與DBMS_SCHEDULER共享。
4、job_queue_processes參數,當設定該值為0的時候則任意方式創建的job都不會運行。
5、非零值的job_queue_processes,其job子進程數依賴於可用資源,資源配置方式以及當前運行的job數來自行調整。
6、此外對於Scheduler jobs方式還受限制於scheduler屬性MAX_JOB_SLAVE_PROCESSES的設置。
7、可以通過DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE來設置max_job_slave_processes
以上!
總結
到此這篇關於oracle定時任務定時無效的原因分析與解決的文章就介紹到這瞭,更多相關oracle定時任務無效內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- oracle自動統計信息時間的修改過程記錄
- ORACLE數據庫應用開發的三十個註意事項
- Oracle Logminer快速使用詳解
- ORACLE中dbms_output.put_line輸出問題的解決過程
- 通過LogMiner實現Oracle數據庫同步遷移