oracle job不自動執行,手動可以執行


解決方法:

用sysdba登錄,執行show parameter job_queue_process看看結果是不是0

如果是這個原因,可以修改此參數

ALTER SYSTEM SET job_queue_processes = 100;

 

小結

1)job_queue_processes參數決定了job作業能夠使用的總進程數。

2)當該參數為0值,任何job都不會被執行,建議合理設置該值且至少大於1。

3)對於job運行時間也應該盡量合理的設置間隔以及啟動時間。

4)如果同一時間內運行的Job數很多,過小的參數值導致job不得不進行等待。而過大的參數值則消耗更多的系統資源。

5)job_queue_processes取值范圍為0到1000,總共可創建多少個job進程由job_queue_processes參數來決定。

6)當job_queue_processes大於1時,且並行執行job時,至少一個為協調進程。其總數不會超出job_queue_processes的值。

7)job_queue_processes參數的值為且DBMS_JOB與DBMS_SCHEDULER共享。

8)job_queue_processes參數,當設定該值為0的時候則任意方式創建的job都不會運行。

9)非零值的job_queue_processes,其job子進程數依賴於可用資源,資源配置方式以及當前運行的job數來自行調整。

10)此外對於Scheduler jobs方式還受限制於scheduler屬性MAX_JOB_SLAVE_PROCESSES的設置。

11)可以通過DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE來設置max_job_slave_processes


免責聲明!

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



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