解決方法:
用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
