sql >> Base de Datos >  >> RDS >> Oracle

Instalación de RAC para una base de datos con archivos de datos

No hace mucho, necesitaba actualizar Oracle Clusterware y RDBMS de 11.1.0.7 a 11.2.0.2. Tengo mucha experiencia con el software Oracle RDBMS, pero sospecho que soy como la mayoría de los DBA en el sentido de que mi experiencia con Clusterware no está al mismo nivel que mi experiencia con RDBMS. Entonces, aunque no tenía miedo de actualizar el software RDBMS, me acerqué a la actualización de Clusterware con cierto grado de nerviosismo. Es cierto que esta inquietud nació de un menor grado de experiencia con el producto. Entonces, antes de intentar la producción, probé, probé y probé todo lo que pude.
La actualización de Clusterware se realizó sin problemas gracias a una gran cantidad de planificación y pruebas.

Después de la actualización, estaba reflexionando sobre lo que salió bien y lo que salió mal, y lo que podría hacer de manera diferente en el futuro. Se me ocurrió que podría haber estropeado por completo la actualización de Clusterware, haber eliminado el software de Clusterware y aún así haber podido instalar Clusterware desde cero y haber podido poner en funcionamiento mi base de datos de RAC. Esta publicación mostrará los pasos que tomé en un entorno de prueba para realizar esta tarea. Por lo tanto, si se encuentra con una actualización o instalación de Clusterware totalmente estropeada, no hay que temer, porque siempre que tenga los archivos de la base de datos, podrá poner todo en marcha. Si su actualización de Clusterware falló, tendrá que corregir la causa raíz del error antes de continuar. Entonces, si tenía una mala configuración de interconexión de clúster o almacenamiento no válido para sus discos de votación, deberá solucionar esos problemas y luego puede seguir estos pasos.

Tengo una base de datos válida con todos mis archivos de datos en almacenamiento compartido accesible para todos los nodos del clúster. Mi prueba tiene dos nodos para el clúster. También se supone que la base de datos se cerró limpiamente. Este documento asume que el nombre de la base de datos es ORCL.

Nota:Si la base de datos que está agregando a RAC ya formaba parte de RAC, puede omitir los pasos 9 a 11 a continuación. Los pasos 9-11 son necesarios si también está convirtiendo la base de datos de una base de datos de instancia única a una base de datos Oracle RAC mientras la agrega a Clusterware.

Pasos
1. Realice una copia de seguridad en frío de los archivos de datos de su base de datos. En caso de que suceda algo, siempre puede restaurar desde la copia de seguridad simplemente copiando los archivos del medio.
2. Asegúrese de que los nodos estén limpios desde la instalación/actualización de Clusterware. Consulte la Nota 239998.1 de Metalink para obtener instrucciones detalladas si es necesario.
3. Instale Oracle Clusterware correctamente. Debería haber solucionado los problemas que causaron que este paso fallara en primer lugar.
a. Verifique que el clúster esté en funcionamiento.
i. $CRS_HOME/bin/crsctl status server
1. Todos los nodos del clúster deben estar EN LÍNEA.
4. Instale Oracle RDBMS en el clúster.
a. El OUI debe detectar el Clusterware y ofrecer realizar una instalación RAC.
5. Inicie el DBCA para crear una base de datos de shell. Usaremos el DBCA para configurar todo en CRS para nosotros.
a. Elija las opciones para crear una base de datos RAC.
b. Utilice el mismo nombre que su base de datos existente.
c. Cree la base de datos de shell en todos los nodos del clúster.
d. Utilice una ubicación común para los archivos de la base de datos, pero no sobrescriba los archivos de datos existentes.
6. Cierre la base de datos de shell
a. srvctl detiene la base de datos –d orcl
7. Configure su SPFILE
a. Si tiene el SPFILE de su antigua base de datos:
i. Coloque el archivo en el disco compartido.
ii. Actualice $ORACLE_HOME/dbs/initorcl.ora para que apunte a la ubicación SPFILE correcta. Haga esto en todos los nodos
b. Si no tiene un SPFILE, cree un PFILE desde cero y luego use el comando CREATE SPFILE FROM PFILE para crear un SPFILE.
i. Asegúrese de que el parámetro CONTROL_FILES apunte a la ubicación correcta, no a los archivos de control de la base de datos del shell.
c. (Opcional) Si tiene un archivo de contraseñas, cópielo en el almacenamiento compartido y luego actualice el enlace en $ORACLE_HOME/dbs (en todos los nodos) para apuntar al archivo de contraseñas. Si no tiene un archivo de contraseñas, puede crear uno más tarde si lo desea.
8. Actualice CRS con la ubicación SPFILE (como raíz)
a. cd $CRS_HOME/bin
b. ./srvctl base de datos de configuración –d orcl
i. El resultado debe indicarle que SPFILE se encuentra en la ubicación de la base de datos de shell
c. ./srvctl modificar base de datos –d orcl –p /ruta_correcta/spfileorcl.ora
i. Realice el paso 8b para verificar que se haya producido el cambio.
ii. Verifique el cambio en el otro nodo también. Solo debe ejecutar este comando de modificación una vez para todos los nodos.
9. Modifique el contenido del SPFILE.
a. sqlplus /nolog
b. conectar / como sysdba
c. crear pfile=’/home/oracle/pfile.txt’ from spfile=’/path_to_spfile/spfileorcl.ora’;
d. Abra el pfile en un editor de texto y realice los siguientes cambios:
i. Agregar:
1. *.cluster_database=true
2. *.cluster_database_instances=2
3. orcl1.instance_number=1
4. orcl2.instance_number=2
5. orcl1.hilo=1
6. orcl2.hilo=2
ii. Cambie el parámetro *.undo_tablespace a orcl1.undo_tablespace
e. Use el pfile para cambiar el spfile
i. cree spfile=’/path_to_spfile/spfileorcl.ora’ from pfile=’/home/oracle/pfile.txt’;
10. Cree un nuevo tablespace UNDO para la otra instancia.
a. exportar ORACLE_SID=orcl1
b. sqlplus / como sysdba
c. puesta en marcha
d. crear undo tablespace undotbs2 datafile ‘/ruta/undotbs02.dbf’ tamaño 30m;
e. modificar el conjunto del sistema undo_tablespace=undotbs2 scope=spfile sid=’orcl2′;
11. Cree registros de rehacer para el nuevo hilo
a. alterar la base de datos agregar archivo de registro subproceso 2 grupo 10 '/ruta/redo10.log' tamaño 50m;
b. alterar la base de datos agregar archivo de registro subproceso 2 grupo 11 '/ruta/redo11.log' tamaño 50m;
c. alterar la base de datos agregar archivo de registro subproceso 2 grupo 12 '/ruta/redo12.log' tamaño 50m;
d. alterar la base de datos habilitar subproceso público 2;
12. srvctl iniciar base de datos –d orcl

En este punto, ya ha instalado Clusterware desde cero y le ha agregado una base de datos existente. Ahora que tengo un método probado para tomar cualquier conjunto de archivos de base de datos y agregarlos a cualquier instalación de clusterware, he reducido mis niveles de nerviosismo cuando realizo actualizaciones de Clusterware en sistemas de producción. Incluso si hago un lío total de las cosas, puedo eliminar Clusterware, reinstalarlo y luego agregar la base de datos a Clusterware y tener mi base de datos RAC en funcionamiento en poco tiempo.