這篇文章為大家帶來了關於Oracle的相關知識,發現系統資料沒有更新,查看oracle定時任務,估計沒有執行,下面介紹了關於oracle定時任務定時無效的原因分析與解決方法,希望對大家有幫助。
推薦教學:《Oracle影片教學》
#由於專案需要同步其他系統資料庫資料庫,在建立完dblink,儲存過程後,新建了一個dbm_job任務,滿心期待的可以提早下班時,卻發現定時任務並沒有按照時間執行。
可能資料庫對於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定時任務定時無效的原因分析與解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!