sábado, 4 de septiembre de 2010

Clonacion de Base de Datos Oracle 10g/11g - RMAN


Clonación de Base de Datos se refiere a la posibilidad de copiar una base de datos y tener una segunda base datos con la misma información pero con diferente nombre.

Ejemplo: Clonar una base de datos PRD con la finalidad de construir la base de datos QAS.

Existen muchos métodos para realizar una clonación, en este blog estoy presentado uno de los posibles métodos que se tienen al alcance con Oracle Database 10g/11g.

En este ejemplo se esta clonando la base de datos BDDEMO en el mismo servidor, construyendo la base de datos BDQAS.

Creando un ambiente con RMAN

Pasos:

1) Estar en modo archiver. (Requisito)

2) Lanzar un backup completo de la base de datos original:
rman target /
RMAN> backup database plus archivelog;

3) Crear un listener dedicado a la nueva instancia (Si no lo teniamos):

Abrimos el listener.ora

Figura 1

Le aumentamos ambos SID. (Registro estático)

Figura 2

4) Agregamos una entrada al tnsnames.ora que apunte al servicio de la base de datos BDQAS (BDQAS):


Figura 3

5) Crear un init.ora con la finalidad de construir la instancia de BDQAS.

*.compatible='10.2.0.4'
*.control_files='/u02/oradata/BDQAS/control01.ctl','/u02/oradata/BDQAS/control02.ctl'
*.db_block_size=8192
*.db_file_name_convert='/u02/oradata/BDDEMO/','/u02/oradata/BDQAS/'
*.db_name='BDQAS'
*.log_file_name_convert='/u01/oracle/oradata/BDDEMO/','/u02/oradata/BDQAS/'
*.remote_login_passwordfile='exclusive'
*.sga_max_size=209715200
*.sga_target=209715200

Al duplicar RMAN creará los controlfiles y copiará los redo logs y los datafiles según está establecido en el log_file_name_convert y en el db_file_name_convert.

6) Crear los passwords files de cada ambiente:
orapwd file=orapwBDDEMO password=oracle entries=5 (Si no existia)
orapwd file=orapwBDQAS password=oracle entries=5

7) Ingresar al rman para iniciar la clonación:
rman target sys/oracle@BDDEMO auxiliary sys/oracle@BDQAS
RMAN> DUPLICATE TARGET DATABASE TO BDQAS;

ó

RMAN> DUPLICATE TARGET DATABASE TO BDQAS UNTIL TIME 'SYSDATE-#;;

• La base de datos nueva es abierta con resetlogs.
• Posterior a la clonacion debemos comentar en el pfile o spfile las entradas db_file_name_convert y log_file_name_convert.
• Si conseguimos un error de PL-561, significa que los 2 ambientes tienen un diferente NLS_LANG y deben ser iguales.

Nota: Este método sirve cuando los ambientes son de la misma plataforma, inclusive si estamos usando una plataforma de 32 bits a 64 bits o viceversa (configuración mixta). Si realizamos los pasos de clonación en una configuración mixta debemos ejecutar los scripts: utlirp.sql y utlrp.sql ubicados en el directorio $ORACLE_HOME/rdbms/admin al final de la clonación, con la finalidad de convertirlo a la nueva plataforma


Publicado por Ing. Francisco Riccio. Es un IT Specialist en productos Oracle e instructor de cursos oficiales de certificación Oracle. Está reconocido por Oracle como un Oracle ACE y certificado en productos de Oracle Application & Base de Datos.

e-mail: francisco@friccio.com
web: www.friccio.com

No hay comentarios:

Publicar un comentario