Oracle
 sql >> Database >  >> RDS >> Oracle

CRON e SQLPLUS

l'ambiente shell è molto importante per Oracle e quasi non è presente quando si utilizza cron. Come sempre ci sono diversi modi per risolvere questo problema.

  1. utilizza percorsi completi, un po' rigidi
  2. crea lo script per configurare il proprio ambiente di esecuzione
  3. imposta l'ambiente di esecuzione in cron, quando si chiama lo script.

Un modo praticamente standard per configurare il tuo ambiente dall'interno dello script è usare lo script oraenv, normalmente situato in /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

dalla riga cron:

10 10 * * * $HOME/.profile;$HOME/bin/your_script >$HOME/log/your_script.log 2>&1

Ciò presuppone che il .profile non sia interattivo ed esporti l'ambiente necessario.