Como creo un proceso automatico en oracle

Tengo instalado 9i
necesito un proceso que se ejecute en un momento determinado, como lo hago

1 respuesta

Respuesta
1
Si lo haces sobre unix, crea el script y lo ejecutas como una tarea más del cron.
Si tienes dudas, sobre la creación del script, dimelo y te envío nuestro script para hacer el backup de la base de datos el cual se ejecuta periodicamente.
lo hago sobre 2000 server pero me servirìa el de unix, puedes enviarmelo
function WriteLog {
echo `date +"%d/%m/%Y;%H:%M:%S"`';'$1';0; ; ;'$2'#'>> /var/log/oracle/oracle.$ORACLE_SID.log
echo `date +"%d/%m/%Y;%H:%M:%S"`';'$1';0; ; ;'$2'#'>> $FLOG
}
function Shut_Abort {
LOG_SA=`date +"/var/log/oracle/%m.%d.%y.$ORACLE_SID.shutdown"`
echo '---------------------------------' > $LOG_SA
echo '| S H U T D O W N A B O R T |' >> $LOG_SA
echo '---------------------------------' >> $LOG_SA
svrmgrl <<EOF 1>>$LOG_SA 2>>$LOG_SA
connect internal
shutdown abort
EOF
if grep 'ORACLE instance shut down.' $LOG_SA 1>/dev/null 2>/dev/null
then
WriteLog $NIVEL_INFORMACION "Shutdown abort realizado para SID $ORACLE_SID.Log $LOG_SA"
return $TRUE
else
WriteLog $NIVEL_WARNING "ERROR: Imposible shutdown abort para SID $ORACLE_SID.Log $LOG_SA"
return $FALSE
fi
}
function Startup {
LOG_ST=`date +"/var/log/oracle/%m.%d.%y.$ORACLE_SID.shutdown"`
echo '-------------------' >> $LOG_ST
echo '| S T A R T U P |' >> $LOG_ST
echo '-------------------' >> $LOG_ST
svrmgrl <<EOF 1>>$LOG_ST 2>>$LOG_ST
connect internal
startup mount
recover database
alter database open;
select t\$item from baan.ttiitm001300 where rownum=1;
EOF
if grep '1 row selected' $LOG_ST 1>/dev/null 2>/dev/null
then
WriteLog $NIVEL_INFORMACION "Startup realizado para SID $ORACLE_SID.Log $LOG_ST"
return $TRUE
else
WriteLog $NIVEL_WARNING "ERROR: Imposible startup para SIC $ORACLE_SID.Log $LOG_ST"
return $FALSE
fi
}
function Shut_Immediate {
LOG_SI=`date +"/var/log/oracle/%m.%d.%y.$ORACLE_SID.shutdown"`
echo '-----------------------------------------' >> $LOG_ST
echo '| S H U T D O W N I M M E D I A T E |' >> $LOG_ST
echo '-----------------------------------------' >> $LOG_ST
svrmgrl <<EOF 1>>$LOG_SI 2>>$LOG_SI
connect internal
shutdown immediate
EOF
if grep 'Database dismounted' $LOG_SI 1>/dev/null 2>/dev/null
then
WriteLog $NIVEL_INFORMACION "Shutdown immediate realizado para SID $ORACLE_SID.Log $LOG_SI"
return $TRUE
else
WriteLog $NIVEL_WARNING "ERROR: Imposible shutdown immediate para SID $ORACLE_SID.Log $LOG_SI"
return $FALSE
fi
}
function Shutdown {
if Shut_Abort
then
if Startup
then
if Shut_Immediate
then
return $TRUE
fi
else
return $FALSE
fi
else
return $FALSE
fi
}
export ORACLE_SID=$1
FLOG=$2
FLAG=$3
# VARIABLES STANDARD
TRUE=0
FALSE=1
NIVEL_INFORMACION='9'
NIVEL_NOTIFICAR='8'
NIVEL_WARNING='5'
NIVEL_HARDWARE='1'
NIVEL_CRITICO='0'
rm $FLAG 2>/dev/null
if Shutdown
then
> $FLAG
WriteLog $NIVEL_INFORMACION "Shutdown completado para $ORACLE_SID"
else
WriteLog $NIVEL_WARNING "ERROR: Imposible completar shutdow $ORACLE_SID"
Fi

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas