En muchos entornos, es conveniente que la base de datos y el escucha de Oracle se apaguen y se inicien automáticamente cuando se reinicia el servidor. Si tiene ese requisito, siga los siguientes pasos para automatizar el apagado y el inicio de su base de datos y escucha:
Pasos para configurar el inicio/apagado automático
1. Edite el archivo /etc/oratab y coloque una Y al final de la entrada de las bases de datos que desea reiniciar automáticamente cuando se reinicia el sistema. Es posible que necesite privilegios de root para editar el archivo:
# vi /etc/oratab [SID]:[ORACLE_HOME]:Y
La Y al final de la cadena significa que la base de datos se puede iniciar y detener mediante los scripts ORACLE_HOME/bin/dbstart y ORACLE_HOME/bin/dbshut.
Nota :con algunos sistemas Unix (como Solaris), el archivo oratab generalmente se encuentra en el directorio /var/opt/oracle.
2. Cree el script de servicio /etc/init.d/dbora . El contenido del guión es el siguiente. Asegúrese de cambiar los valores de las variables ORA_HOME y ORA_OWNER para que coincidan con su entorno. Esta es una secuencia de comandos básica de lo que necesitaría mínimamente para detener e iniciar una base de datos y un oyente:
# vi /etc/init.d/dbora #!/bin/bash # chkconfig: 35 99 10 # description: Starts and stops Oracle processes ORA_HOME=/oracle/app/oracle/product/11.2.0/db_1 ORA_OWNER=oracle case "$1" in 'start') su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" su - $ORA_OWNER -c $ORA_HOME/bin/dbstart ;; 'stop') su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" su - $ORA_OWNER -c $ORA_HOME/bin/dbshut ;; esac # End of script dbora
Comprender el guión
Las líneas:
# chkconfig: 35 99 10 # description: Starts and stops Oracle database
son obligatorios y no solo comentarios ya que describen las características del servicio donde:
- 35 significa que el servicio se iniciará en los niveles de inicio 3 y 5 y se detendrá en otros niveles.
- 99 significa que el servicio se iniciará casi al final del procesamiento del nivel de inicio
- 10 significa que el servicio se detendrá casi al comienzo del procesamiento del nivel de inicio
El resto del guión es bastante fácil de entender. El primer caso inicia el oyente/DB mientras que el segundo caso lo detiene. Siga los pasos a continuación para hacer que el script sea ejecutable y permitir que se ejecute automáticamente cuando se inicie el sistema.
Hacer que el script sea ejecutable y permitir que se ejecute en el arranque
1. Cambie el grupo del archivo dbora para que coincida con el grupo asignado al propietario del sistema operativo del software de Oracle (generalmente oinstall o dba):
# chgrp dba /etc/init.d/dbora
2. Establezca los permisos del script en 755.
# chmod 750 /etc/init.d/dbora
3. Ejecute el siguiente comando chkconfig:
# chkconfig --add dbora
Esta acción registra el servicio en el mecanismo de servicio de Linux. Esto también crea los enlaces simbólicos apropiados a los archivos debajo del directorio /etc/rc.d. Use la opción –list para mostrar si un servicio está activado o desactivado para cada nivel de ejecución:
# chkconfig --list | grep dbora dbora 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Este resultado indica que el servicio dbora está activado para los niveles de ejecución 3 y 5. Si necesita eliminar un servicio, use el –del opción de chkconfig.
Probando el guión
1. Para probar si el script dbora está funcionando, como root ejecute lo siguiente para detener su base de datos y escucha:
# /etc/init.d/dbora stop
2. Para probar el inicio de su base de datos y escucha, como usuario root, ejecute el siguiente comando:
# /etc/init.d/dbora start
Reflexiones finales
La automatización del apagado y el inicio de su base de datos Oracle variará dependiendo de si está utilizando herramientas como software de clúster o ASM. La solución en esta sección demuestra los pasos típicos para implementar el apagado y el inicio de su base de datos en los escenarios donde no tiene otro software que gestione esta tarea.