shell средата е много важна за Oracle и почти я няма при използване на cron. Както винаги има няколко начина за решаване на това.
- използвайте пълни квалифицирани пътища - малко негъвкави
- направете скрипта да настрои своя собствена среда за изпълнение
- настройване на средата за изпълнение в cron при извикване на скрипта.
Доста стандартен начин за настройка на вашата среда от скрипта е чрез използване на скрипта oraenv, обикновено намиращ се в /usr/local/bin
ORACLE_SID={your_sid}
ORAENV_ASK=NO
type oraenv >/dev/null 2>&1 || PATH=/usr/local/bin:$PATH
. oraenv
SQLPATH=$HOME/sql
export SQLPATH
do your stuff
от линията cron:
10 10 * * * $HOME/.profile;$HOME/bin/your_script >$HOME/log/your_script.log 2>&1
Това предполага, че .profile не е интерактивен и експортира необходимата среда.