oracle定时任务会漂移,定时任务与手动执行脚本时的一个重要注意事项
今天在linux環(huán)境下做了一個(gè)定時(shí)任務(wù),用java程序到oracle中查詢數(shù)據(jù),
手動執(zhí)行腳本沒有問題,但是定時(shí)任務(wù)執(zhí)行時(shí)卻一直報(bào)錯(cuò):
- java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified
真是百思不得其解啊!也懷疑是環(huán)境變量的問題,但是又覺得應(yīng)該是一樣,
經(jīng)過好長的努力,最后終于找到了解決辦法,
不要假定cron知道所需要的特殊環(huán)境,它其實(shí)并不知道。所以你要保證在shelll腳本中提供所有必要的路徑和環(huán)境變量,除了一些自動設(shè)置的全局變量
1)腳本中涉及文件路徑時(shí)寫全局路徑;
2)腳本執(zhí)行要用到j(luò)ava或其他環(huán)境變量時(shí),通過source命令引入環(huán)境變量,如:
cat start_cbp.sh
#!/bin/sh
source /etc/profile
export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf
/usr/local/jboss-4.0.5/bin/run.sh -c mev &
3)當(dāng)手動執(zhí)行腳本OK,但是crontab死活不執(zhí)行時(shí)。這時(shí)必須大膽懷疑是環(huán)境變量惹的禍,并可以嘗試在crontab中直接引入環(huán)境變量解決問題。如:
0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh
閱讀(4893) | 評論(0) | 轉(zhuǎn)發(fā)(0) |
總結(jié)
以上是生活随笔為你收集整理的oracle定时任务会漂移,定时任务与手动执行脚本时的一个重要注意事项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python调用sikuli的方法
- 下一篇: 迷你世界怎么驯服鸡