miércoles, 18 de junio de 2008

¿Como multiplexar un controlfile, utilizando OMF y ASM

Un problema con el que nos hemos encontrado en nuestro entorno de bases de datos, en concreto después de una instalación Oracle 10.2.0.1 parcheada a la 10.2.0.3, ha sido el de tener que duplicar el controlfile. En la siguiente nota indico el procedimiento que he seguido, teniendo en cuenta que se está haciendo uso de +ASM, usando la herramienta RMAN proporcionada por Oracle.

Lo primero que hay que hacer es identificar el controlfile existente:
SQL> SELECT NAME FROM V$CONTROLFILE;

Ahora hay que parar la base de datos e iniciarla en modo nomount:
SQL> SHUTDOWN IMMEDIATE;
….
SQL> STARTUP NOMOUNT;

Este es el momento de, usar RMAN para duplicar el archivo de control (la réplica se hará en el disco flash):

$ rman nocatalog;
RMAN> CONNECT TARGET;
RMAN> RESTORE CONTROLFILE TO ‘+DISCO_FLASH’ FROM ‘+DISCO_DATOS/ruta/nombre_ctl’;

Se identifica en este momento el nombre del controlfile en la flash; teniendo en cuenta que estamos haciendo uso de OMF, no sabemos qué nombre le va a poner Oracle al segundo controlfile, por eso es imprescindible este paso. Ésto se pude hacer desde SQLPLUS (como se puede observar más arriba) o con la nueva herramienta proporcionada por Oracle 10.2, ASMCMD:

$ asmcmd
ASMCMD> CD ‘+DISCO_FLASH’
ASMCMD> FIND -t controlfile*
Modificar ahora el SPFILE. Esto se puede hacer desde cualquier nodo cuando estamos en un entorno Oracle RAC:

SQL> ALTER SYSTEM SET CONTROL_FILES = ‘+DISCO_DATOS/ruta/nombre_ctl’,'+DISCO_FLASH/ruta/nombre_ctl’;

SQL> SHUTDOWN IMMEDIATE;
SQL> CONN / AS SYSDBA
SQL> STARTUP;

0 comentarios: