prostředí shellu je pro Oracle velmi důležité a při použití cronu téměř neexistuje. Jako vždy existuje několik způsobů, jak to vyřešit.
- použijte plně kvalifikované cesty – trochu neflexibilní
- vytvořte skript pro nastavení vlastního spouštěcího prostředí
- při volání skriptu nastavte spouštěcí prostředí v cronu.
V podstatě standardním způsobem nastavení prostředí ze skriptu je použití skriptu oraenv, který se obvykle nachází v /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
z cron řádku:
10 10 * * * $HOME/.profile;$HOME/bin/your_script >$HOME/log/your_script.log 2>&1
To předpokládá, že .profile není interaktivní a exportuje potřebné prostředí.