Use Grid Infrastructure to Manage Oracle Databases and Other Resources

1. Documentación en Tahiti -> Masters Book List -> Database Installation Guide for Linux -> 3 Oracle Grid Infrastructure

Documentación en Tahiti -> Masters Book List -> Administrator’s Guide -> 4 Configuring Automatic Restart of an Oracle Database

2. “Oracle Grid Infrastructure” se compone del software ASM, Oracle Restart (en Single-Instance) y Clusterware (en clusters). Hemos hecho ejercicios sobre ASM y Clusterware en las secciones de “Grid Infrastructure and ASM” y “Real Application Clusters”. En este objetivo nos vamos a centrar en “Oracle Restart”. Instalaremos Grid Infrastucture SIN ASM. Añadiremos la BD al Grid y luego gestionaremos los recursos haciendo algunas pruebas.

3. IMPORTANTE -> Antes de hacer ningún ejercicio hacemos una copia de seguridad de la máquina virtual OCM.

Click “VM” ->
-> Click “Power” ->
-> Click “Power Off” ->
-> Copiamos el contenido de la VM a otra ubicación (Ej.: F:\Virtual Machines\OCM => F:\Virtual Machines\Backups\OCM)

4. Antes de arrancar la VM verificamos que tenemos suficiente memoria para poder instalar Grid Infrastructure (2.5GB). Es el requisito mínimo recomendado para tener una instalación de Grid más la Base de Datos.

Click “VM” ->
-> Click “Settings” ->
-> “Memory for this virtual machine” = 2560 ->
-> Click “Ok” ->
-> Click “Power on this virtual machine”

5. Copiamos el software de “Grid Infrastructure” (p10404530_112030_LINUX_3of7.zip) en la Máquina Virtual OCM con WinSCP o FileZilla.

  • p10404530_112030_LINUX_3of7.zip -> /u01/stage

6. Descomprimimos el software con el usuario oracle y borramos los archivos comprimidos.

su - oracle
cd /u01/stage
unzip p10404530_112030_LINUX_3of7.zip
rm p10404530_112030_LINUX_3of7.zip

7. Como sólo tenemos un usuario para el Grid, le damos todo los privilegios al mismo usuario (oracle).

# Asignamos el usuario oracle a todos los GROUPS de administración de ASM
/usr/sbin/usermod -G dba,asmdba,asmoper,asmadmin oracle

8. Activamos el modo slewing del demonio NTP. Este paso es necesario para evitar errores en la instalación del software.

# Editamos el fichero /etc/sysconfig/ntpd como root y cambiamos la linea:
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid"
# Por esta otra:
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

# Guardamos y reiniciamos el demonio NTP
service ntpd restart

9. Creamos la ubicación para el software del Grid y damos los permisos correctos.

mkdir -p /u01/app/11.2.0/grid
chown -R oracle:oinstall /u01/app/11.2.0/grid
chmod -R 755 /u01/app/11.2.0/grid

10. Lanzamos el asistente de instalación del Grid Infrastructure (runInstaller).

# Ejecutamos el comando runInstaller con el usuario oracle
cd /u01/stage/grid/
./runInstaller

11. Instalamos sólo el software “Grid Infrastructure”.

Seleccionamos “Install Grid Infrastructure Software Only” ->
-> Click “Next” ->
-> En “Selected Languages” sólo tendremos “English” ->
-> Click “Next” ->
-> Dejamos los grupos de OS por defecto (asmdba, asmoper y asmadmin) ->
-> Click “Next” ->
-> Oracle Base = “/u01/app/oracle” ->
-> Software Location = “/u01/app/11.2.0/grid” ->
-> Click “Finish”

12. Cuando termina la instalación, nos pide que ejecutemos el siguiente script “/u01/app/11.2.0/grid/root.sh” como root.

# Abrimos una sesión como root y ejecutamos el script
# Aceptamos los directorios por defecto que nos solicita [INTRO] y indicamos que sobreescriba [Y]
/u01/app/11.2.0/grid/root.sh

13. IMPORTANTE -> Tras finalizar la ejecución del comando “/u01/app/11.2.0/grid/root.sh” nos indica los pasos a seguir para configurar Grid Infrastructure en una instalación Stand-Alone y registrar el ORACLE_HOME. Esto es necesario para tener una instalación correcta de Oracle Restart.

# Ejecutamos el siguiente comando como root para configurar Grid Infrastructure
/u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl

# Registramos el ORACLE_HOME del GI
su - oracle
/u01/app/11.2.0/grid/oui/bin/runInstaller -updateNodeList -silent -local CRS=true ORACLE_HOME=/u01/app/11.2.0/grid

14. Cerramos el asistente de instalación del GI.

Click “Ok” ->
-> Click “Close”

15. Registramos los recursos que tenemos en la máquina dentro de GI.

# Registramos la BD y el LISTENER (usuario oracle)
# Por defecto, cuando se arranque la máquina se levantara la instancia de OCM
/u01/app/11.2.0/grid/bin/srvctl add database -d OCM -o /u01/app/oracle/product/11.2.0/dbhome_1
/u01/app/11.2.0/grid/bin/srvctl add listener -l LISTENER -o /u01/app/oracle/product/11.2.0/dbhome_1

# Levantamos los recursos a través del GI
/u01/app/11.2.0/grid/bin/srvctl start listener -l LISTENER
/u01/app/11.2.0/grid/bin/srvctl start database -d OCM

16. Hacemos varias comprobaciones sobre el GI.

# Validamos que se han añadido los recursos del LISTENER y la BD correctamente
# Tenemos que ver ONLINE (TARGET y STATE) los siguientes recursos: "ora.LISTENER.lsnr" y "ora.ocm.db"
/u01/app/11.2.0/grid/bin/crsctl stat res -t

# Validamos que el GI levantará de forma automática tras el reinicio (autostart is enabled)
/u01/app/11.2.0/grid/bin/crsctl config has

17. También podemos añadir servicios a la BD a través de GI. Si no existe, GI los creará por nosotros.

# Creamos un servicio básico de prueba con GI y lo levantamos
# Podemos ver las opciones disponibles en la documentación de SRVCTL para Oacle Restart
# http://docs.oracle.com/cd/E11882_01/server.112/e25494/restart005.htm#i1008562
/u01/app/11.2.0/grid/bin/srvctl add service -d OCM -s SERVTEST
/u01/app/11.2.0/grid/bin/srvctl start service -d OCM -s SERVTEST

# Comprobamos el estado del servicio desde GI
/u01/app/11.2.0/grid/bin/crsctl stat res -t

# Comprobamos que se registra en el LISTENER (esperamos un minuto)
lsnrctl services LISTENER

# Paramos el servicio SERVTEST y lo eliminamos
/u01/app/11.2.0/grid/bin/srvctl stop service -d OCM -s SERVTEST
/u01/app/11.2.0/grid/bin/srvctl remove service -d OCM -s SERVTEST

18. Borramos el software de instalación del GI

rm -Rf /u01/stage/grid