首頁 > 資料庫 > Oracle > 主體

oracle定時任務定時無效的原因分析與解決

WBOY
發布: 2022-09-14 17:54:49
轉載
3677 人瀏覽過

這篇文章為大家帶來了關於Oracle的相關知識,發現系統資料沒有更新,查看oracle定時任務,估計沒有執行,下面介紹了關於oracle定時任務定時無效的原因分析與解決方法,希望對大家有幫助。

oracle定時任務定時無效的原因分析與解決

推薦教學:《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定時任務定時無效的原因分析與解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:jb51.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板