Asi que una manera para que te puedas ir a dormir y nada mas despertarte es si llega a fallar el script
Lo primero que ahi que hacer, y esto es importante que en el ambiente que lo hagas, tengas el permiso para poder hacerlo, es poner el password en un archivo de texto y con permisos 400
oracle@servidor1.oracleenespanol.blogspot.com [TESTDB1] /mount/dba01/oracle/TESTDB/scripts oracle $ ls -ltr passfile.txt -r-------- 1 oracle oinstall 13 Jun 30 20:58 passfile.txt oracle@servidor1.oracleenespanol.blogspot.com [TESTDB1] /mount/dba01/oracle/TESTDB/scripts oracle $ cat passfile.txt hr:12345
En un script de shell de unix vas a poner lo que esta abajo
. ${HOME}/bin/TESTDB HR_PASS=`cat /mount/dba01/oracle/DBATEST/admin/passfile.txt | grep hr | cut -d: -f2` LOG_DIR=${SID_HOME}/audit sqlplus /nolog <<EOF > ${LOG_DIR}/test.log connect hr/${HR_PASS} select sysdate from dual; exit EOF oracle_error=`cat ${LOG_DIR}/test.log | grep "ORA-" | wc -l` if [ ${oracle_error} -gt 0 ]; then echo "###############################################################" echo "## ERROR ====> Unable to get the Date" cat ${LOG_DIR}/test.log | grep ORA- | awk '{print "##", $0}' echo "###############################################################" mailx -s "Error in Getting the Time" rene.antunez@blogspot.com < ${LOG_DIR}/test.log exit 1 fi
Ya una vez que tengas tu shell script, ya nada mas lo tienes que mandar en modo nohup y te puedes ir a dormir o comer en lo que corre tu script, si llega a fallar, te llegaria un correo con el error y donde es que fallo. De igual manera, puedes cambiar el select por un script de sql.
oracle@servidor1.oracleenespanol.blogspot.com [TESTDB1] /mount/dba01/oracle/TESTDB/scripts oracle $ nohup ./test.sh &
No hay comentarios.:
Publicar un comentario