viernes, 19 de octubre de 2012

No se ejecuta un sqlplus en un script del cron

Una de las razones fundamentales por las que da error a la hora de ejecutar un script en el crontab de unix es por que no tienes las variables de entorno cargadas en el script.

Es decir, normalmente para conectarte a oracle con tu usuario si ya tienes cargadas las variables de entorno en su .profile solo tienes que poner "sqlplus" y entras directamente con el promt de SQL>

¿Que ocurre si no cargas las variables de entorno?

Al poner solo sqlplus estás llamando realmente a la ruta /oracle/bla/bla/bla/sqlplus y es una forma de "enlazarla". Si en tu script no tienes ese enlace, el cron no lo va a reconocer. Por tanto en el script deberías añadir una cosa parecida a esta

ORACLE_HOME=/oracle/product/11.2.0.2
ORACLE_SID=awk
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_HOME ORACLE_SID PATH
 Definir la variable ORACLE_HOME ORACLE_SID y exportarlas debería ser suficiente para cuando lances un script en el cron que tenga un sqlplus permita que pueda ejecutarlo.


1 comentario: