Necesitamos que nuestra instancia de oracle arranque automáticamente cuando se reinicia o arranca el equipo.
Instalaremos el rpm Orarun que proporciona novell y que crea todos o casi todos los ficheros que tenemos que retocar a continuación.
Los siguientes pasos deben de funcionar tanto para oracle 10g como para 11g. Están realizados para "Opensuse" por lo que la ubicación de algunos archivos podría diferir dependiendo de la instalación (esencialmente el init.d o los runlevels).
Debemos hacer lo siguiente en Opensuse como ROOT:
1) Editar el archivo el archivo /etc/oratab
En dicho archivo tendremos que poner algo similar a esto =
miinstancia:/opt/oracle/product/10.2/db_1:Y
orcl:/opt/oracle/product/10.2/db_1:Y
Su sintaxis es
[instancia]:[$ORACLE_HOME]:[Y o N]
La N indica que no queremos que se arranque automáticamente. La Y indica que queremos que se arranque automáticamente.
2) Si no esta creado el archivo /etc/init.d/oracle como ROOT (desde consola podemos ejecutar cat > /etc/init.d/oracle ) lo creamos e introducimos este script, si lo estuviera revisaremos su configuración:
#!/bin/sh
# chkconfig: 345
# descripcion: Oracle auto start-stop script.
#
# Set ORA_HOME al quivalente $ORACLE_HOME del sistema
# Set ORA_OWNER Al id del usuario linux que es el propietario de la BD
ORA_HOME=/opt/oracle/product/10.2/db_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Arranca la Base de Datos
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
;;
'stop')
# Parar la Base de Datos
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
;;
esac
3) Damos los permisos adecuados al fichero:
chmod 755 /etc/init.d/oracle
4) Añadimos el script a los niveles de ejecución 345:
chkconfig oracle 3455) Si usamos la versión 10g Release 2 , tendremos el siguiente mensaje de error:
Failed to auto-start Oracle Net Listener using /ade/vikrkuma_new/oracle/bin/tnslsnr
Tenemos que editar el archivo $ORACLE_HOME/bin/dbstart y poner:
ORACLE_HOME_LISTNER=$ORACLE_HOME
Si no tenemos definida la variable de entorno $ORACLE_HOME ponemos la ruta a pelo
/opt/oracle/product/10.2/db_1
6) Ahora automáticamente debería arrancarse oracle al reiniciar el sistema. Si quieremos arracancarla o pararla manualmente podemos usar el comando:
/etc/init.d/oracle starto para pararla con
/etc/init.d/oracle stopFuente:
http://www.oracle-base.com/articles/linux/AutomatingDatabaseStartupAndShutdownOnLinux.php