Este capítulo contiene instrucciones para la configuración de Red Hat Enterprise Linux para hacer los servicios de base de datos altamente disponibles.
![]() | Nota |
---|---|
Las descripciones siguientes presentan instrucciones de ejemplo de configuraciones de bases de datos. Tenga en cuenta que pueden existir diferencias en versiones más recientes de cada producto de base de datos. En consecuencia, esta información puede no ser aplicable directamente. |
Un servicio de base de datos puede servir data de alta disponibilidad a una aplicación de base de datos. La aplicación puede luego proveer acceso a la red a sistemas clientes, tales como servidores Web. Si el servicio hace un fail over, la aplicación accesará la base de datos compartida a través del nuevo sistema cluster. A un servicio de base de datos accesible a la red, se le asigna una dirección IP, la cual también se transferirá en caso de fail over del servicio para así mantener acceso transparente a los clientes.
Esta sección proporciona un ejemplo del establecimiento de un servicio cluster para una base de datos Oracle. Aún cuando las variables usadas en los scripts del servicio dependen de la configuración específica de Oracle, este ejemplo puede ser de ayuda en la configuración de un servicio para ambientes individuales. Consulte la Sección 4.2 para información sobre como mejorar el rendimiento de un servicio.
En el ejemplo que sigue:
El servicio incluye una dirección IP para que los clientes Oracle la utilicen.
El servicio tiene dos sistemas de archivos montados, uno para el software de Oracle (/u01) y el otro para la base de datos Oracle (/u02), los cuales se configuraron antes de que el servicio fuese agregado.
Se crea una cuenta de administración de Oracle con el nombre de oracle en los sistemas cluster que ejecutan el servicio antes de agregar el servicio.
El directorio de administración está en un disco compartido que es usado en conjunto con el servicio Oracle (por ejemplo, /u01/app/oracle/admin/db1).
Cree una configuración de usuario/grupo consistente que pueda acceder apropiadamente el servicio Oracle para cada sistema cluster. Por ejemplo:
mkdir /users groupadd -g 900 dba groupadd -g 901 oinstall useradd -u 901 -g 901 -d /users/oracle -m oracle usermod -G 900 oracle |
El ejemplo del servicio Oracle utiliza tres scripts que deben ser colocados en /home/oracle y deben ser propiedad de la cuenta de administración Oracle. El script oracle es usado para arrancar y detener el servicio Oracle. Especifique este script cuando agregue el servicio. Este script llama a los otros scripts Oracle de ejemplo. Los scripts startdb y stopdb arrancan y detienen la base de datos. Note que hay muchas formas en las que una aplicación puede interactuar con una base de datos Oracle.
El siguiente es un ejemplo del script oracle, el cual es usado para arrancar, detener y verificar el estado de un servicio Oracle.
#!/bin/sh # # Cluster service script to start, stop, and check status of oracle # cd /users/oracle case $1 in start) su - oracle -c ./startdb ;; stop) su - oracle -c ./stopdb ;; status) status oracle ;; esac |
El siguiente es un ejemplo del script startdb, el cual es usado para arrancar el Servidor de Bases de Datos Oracle:
#!/bin/sh # # # Script to start the Oracle Database Server instance. # ######################################################################## # # ORACLE_RELEASE # # Specifies the Oracle product release. # ######################################################################## ORACLE_RELEASE=9.2.0 ######################################################################## # # ORACLE_SID # # Specifies the Oracle system identifier or "sid", which is the name of # the Oracle Server instance. # ######################################################################## export ORACLE_SID=TEST ######################################################################## # # ORACLE_BASE # # Specifies the directory at the top of the Oracle software product and # administrative file structure. # ######################################################################## export ORACLE_BASE=/u01/app/oracle ######################################################################## # # ORACLE_HOME # # Specifies the directory containing the software for a given release. # The Oracle recommended value is $ORACLE_BASE/product/<release> # ######################################################################## export ORACLE_HOME=/u01/app/oracle/product/${ORACLE_RELEASE} ######################################################################## # # LD_LIBRARY_PATH # # Required when using Oracle products that use shared libraries. # ######################################################################## export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$LD_LIBRARY_PATH ######################################################################## # # PATH # # Verify that the users search path includes $ORACLE_HOME/bin # ######################################################################## export PATH=$PATH:${ORACLE_HOME}/bin ######################################################################## # # This does the actual work. # # Start the Oracle Server instance based on the initSID.ora # initialization parameters file specified. # ######################################################################## /u01/app/oracle/product/9.2.0/bin/sqlplus << EOF sys as sysdba spool /home/oracle/startdb.log startup pfile = /u01/app/oracle/product/9.2.0/admin/test/scripts/init.ora open; spool off quit; EOF exit |
El siguiente es un ejemplo del script stopdb, el cual es usado para detener el servidor de Bases de Datos Oracle:
#!/bin/sh # # # Script to STOP the Oracle Database Server instance. # ###################################################################### # # ORACLE_RELEASE # # Specifies the Oracle product release. # ###################################################################### ORACLE_RELEASE=9.2.0 ###################################################################### # # ORACLE_SID # # Specifies the Oracle system identifier or "sid", which is the name # of the Oracle Server instance. # ###################################################################### export ORACLE_SID=TEST ###################################################################### # # ORACLE_BASE # # Specifies the directory at the top of the Oracle software product # and administrative file structure. # ###################################################################### export ORACLE_BASE=/u01/app/oracle ###################################################################### # # ORACLE_HOME # # Specifies the directory containing the software for a given release. # The Oracle recommended value is $ORACLE_BASE/product/<release> # ###################################################################### export ORACLE_HOME=/u01/app/oracle/product/${ORACLE_RELEASE} ###################################################################### # # LD_LIBRARY_PATH # # Required when using Oracle products that use shared libraries. # ###################################################################### export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$LD_LIBRARY_PATH ###################################################################### # # PATH # # Verify that the users search path includes $ORACLE_HOME/bin # ###################################################################### export PATH=$PATH:${ORACLE_HOME}/bin ###################################################################### # # This does the actual work. # # STOP the Oracle Server instance in a tidy fashion. # ###################################################################### /u01/app/oracle/product/9.2.0/bin/sqlplus << EOF sys as sysdba spool /home/oracle/stopdb.log shutdown abort; spool off quit; EOF exit |
Para añadir un servicio Oracle usando la Herramienta de configuración del cluster, haga lo siguiente:
Inicie la Herramienta de configuración del cluster seleccionando Menú Principal => Configuración del sistema => Configuración de servidores => Cluster o escribiendo redhat-config-cluster en el indicador de comandos. Aparecerá la Herramienta de estado del cluster por defecto.
Inicie la Herramienta de configuración del cluster seleccionando Cluster => Configurar desde los menúes de la Herramienta de estado del cluster.
Pulse la pestaña Servicios.
Añada el servicio Oracle.
Pulse en Nuevo. Aparece la ventana de diálogo Servicio.
Introduzca un Nombre de servicio para el servicio Oracle.
Seleccione un Dominio de failover o déjelo como Ninguno.
Escriba una cantidad (segundos) para verificar la salud del servicio Oracle a través de la función status del script de inicio.
Ingrese un Script de usuario, tal como /home/oracle/oracle.
Pulse en OK
Añada una dirección IP para el servicio Oracle.
Seleccione el servicio Oracle y pulse Añadir hijo.
Seleccione Añadir dirección IP del servicio y pulse en OK. Aparece la ventana Dirección IP del servicio.
Ingrese una Dirección IP.
Ingrese una Máscara de red o déjela como Ninguna.
Ingrese una Dirección de difusión o déjela como Ninguna.
Pulse en OK.
Añada un dispositivo para el servicio Oracle y los archivos administrativos.
Seleccione el servicio Oracle y pulse Añadir hijo.
Seleccione Añadir dispositivo y pulse en OK. Aparecerá el diálogo Dispositivo.
Ingrese el Archivo especial de dispositivo (por ejemplo, /dev/sdb5).
En el campo Punto de montaje, introduzca /u01.
Seleccione el tipo de sistema de archivos en Tipo de FS o déjelo en blanco.
Ingrese las Opciones del punto de montaje, incluyendo rw (lectura-escritura).
Seleccione o quite la selección de Forzar el desmontaje
Pulse en OK.
Añada un dispositivo para los archivos de bases de datos Oracle.
Seleccione el servicio Oracle y pulse Añadir hijo.
Seleccione Añadir dispositivo y pulse en OK. Aparecerá el diálogo Dispositivo.
Introduzca el Archivo especial de dispositivo (por ejemplo, /dev/sdb6).
En el campo Punto de montaje, introduzca /u02.
Seleccione el tipo de sistema de archivos en Tipo de FS o déjelo en blanco.
Ingrese las Opciones del punto de montaje, incluyendo rw (lectura-escritura).
Seleccione o quite la selección de Forzar el desmontaje
Pulse en OK.
Seleccione Archivo => Guardar para guardar el servicio Oracle.