ORACLE LINUX - crontab shell no ejecuta instrucciones sqlplus, dice comando no existente

En el servidor de mi empresa tengo instalado un ORACLE LINUX, tengo acceso al usuario root, construí una funcionalidad que requiere el uso de sqlplus para ejecutar sentencias de SQL, el shell funciona bien si lo ejecuto manualmente... Me voy al usuario oracle desde el usuario root "su - oracle", y luego ejecuto el shell "sh miscript.sh", se ejecuta con éxito.

Es una tarea rutinaria así que decidí automatizarla con CRONTAB, estando en el usuario root "CRONTAB -u oracle -e" y creé la línea para ejecutarlo todos los dias 6am "0 6 * * * /rutadelshell/myscript.sh"

Efectivamente el cron se ejecuta todos los días a las 6am, pero a diferencia de la ejecución manual con el crontab no encuentra el sqlplus, dice que el comando no existe "command not found"

¿Qué estoy haciendo mal?

1 Respuesta

Respuesta
1

Después de investigar un poco más encontré la solución

Añadí estas dos lineas en myscrip. Sh entes de cualquier query

 export ORACLE_HOME=/oracle/product/cl11gr2.4
 export PATH=$PATH:$ORACLE_HOME/bin

En mi caso la instalación del oracle está en esa carpeta

Además cada vez que hago un llamado al comando sqlplus tengo que colocar la ruta completa, ejemplo

echo "select * from MIS_CLIENTES;" | /oracle/product/cl11gr2.4/bin/sqlplus $usrora/$pwora@$bdora

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas