shell-miljø er meget vigtigt for Oracle og er der næsten ikke, når du bruger cron. Som altid er der flere måder at løse dette på.
- brug fulde kvalificerede stier - lidt ufleksible
- lav scriptet til at konfigurere dets eget eksekveringsmiljø
- opsæt eksekveringsmiljøet i cron, når du kalder scriptet.
En stort set standard måde at sætte dit miljø op fra scriptet er ved at bruge oraenv scriptet, normalt placeret i /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
fra kronlinjen:
10 10 * * * $HOME/.profile;$HOME/bin/your_script >$HOME/log/your_script.log 2>&1
Dette forudsætter, at .profilen ikke er interaktiv og eksporterer det nødvendige miljø.