oracle定時(shí)任務(wù)定時(shí)無(wú)效的原因分析與解決
創(chuàng)建oracle定時(shí)任務(wù)定時(shí)任務(wù)并沒(méi)有按時(shí)執(zhí)行
由于項(xiàng)目需要同步其他系統(tǒng)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù),在創(chuàng)建完dblink,存儲(chǔ)過(guò)程后,新建了一個(gè)dbm_job任務(wù),滿心期待的可以早點(diǎn)下班時(shí),卻發(fā)現(xiàn)定時(shí)任務(wù)并沒(méi)有按照時(shí)間執(zhí)行。
創(chuàng)建定時(shí)任務(wù)JOB(63)定時(shí)任務(wù)并沒(méi)有執(zhí)行
原因分析:
可能數(shù)據(jù)庫(kù)對(duì)于JOB的功能并沒(méi)有開啟,于是引著這個(gè)方向去尋找解決方法。
解決方案:
通過(guò)查閱資料發(fā)現(xiàn)原來(lái)有一個(gè)參數(shù)job_queue_processes數(shù)字為0是定時(shí)任務(wù)都不會(huì)執(zhí)行,查詢的sql如下:
select value from v$parameter where name like '%job_queue_processes%';
修改參數(shù)job_queue_processes 大于0,我這兒設(shè)置為了10(大家可以適當(dāng)調(diào)大一些)
alter system set job_queue_processes =10;
再次重新測(cè)試:
補(bǔ)充:參數(shù)job_queue_processes貌似是定時(shí)任務(wù)隊(duì)列進(jìn)程,查了資料補(bǔ)上如下:
1、job_queue_processes取值范圍為0到1000,總共可創(chuàng)建多少個(gè)job進(jìn)程由job_queue_processes參數(shù)來(lái)決定。
2、當(dāng)job_queue_processes大于1時(shí),且并行執(zhí)行job時(shí),至少一個(gè)為協(xié)調(diào)進(jìn)程。其總數(shù)不會(huì)超出job_queue_processes的值。
3、job_queue_processes參數(shù)的值為且DBMS_JOB與DBMS_SCHEDULER共享。
4、job_queue_processes參數(shù),當(dāng)設(shè)定該值為0的時(shí)候則任意方式創(chuàng)建的job都不會(huì)運(yùn)行。
5、非零值的job_queue_processes,其job子進(jìn)程數(shù)依賴于可用資源,資源配置方式以及當(dāng)前運(yùn)行的job數(shù)來(lái)自行調(diào)整。
6、此外對(duì)于Scheduler jobs方式還受限制于scheduler屬性MAX_JOB_SLAVE_PROCESSES的設(shè)置。
7、可以通過(guò)DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE來(lái)設(shè)置max_job_slave_processes
以上!
總結(jié)
到此這篇關(guān)于oracle定時(shí)任務(wù)定時(shí)無(wú)效的原因分析與解決的文章就介紹到這了,更多相關(guān)oracle定時(shí)任務(wù)無(wú)效內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。