Oracle Database 12c: Active Duplication con RMAN (Caso 4)

Por Joel Perez , Mahir M. Quluzade (OCE) & Sebastián D'Alessandro (OCE)
Publicado en Mayo 2015

Índice:

Veamos el cuarto de los ejemplo para duplicar una base de datos con RMAN en modo activo.

Antes de continuar con la lectura le aconsejamos leer la (parte I) de esta serie para que pueda estar seguro de comprender la teoría relacionada con estos artículos. Si preparó su host destino como se indica en los 7 pasos descritos en la (parte 1), entonces  podrá duplicar la base de datos utilizando RMAN.

Caso 4: Duplicando CDB -"Push-Based Active Database Duplication" de una CDB

En los casos de “Active Database duplication”  mediante el método “Pull-Based”   (Parte II, III, IV), el número de “target channels” es siempre menor que el número de “auxiliary channels”. En el caso que quiera utilizar  “Push-Based Active Database duplication” en Oracle Database 12c Release 1 (12.1.0.1), deberá asignar un número de “target channels”  de RMAN más grande que el número de “auxiliary channels” asignados.

En el siguiente ejemplo estamos trabajando inicialmente como base de datos origen con la CDB llamada “prmcdb”  que será duplicada en la CDB llamada “dupcdb” como ocurre en la tercer parte de esta serie de artículos. En este caso usamos el comando DUPLICATE de RMAN con las siguientes opciones:

Opción de duplicación

CDB

Tipo de duplicación

Active Database Duplication

Método de duplicación

Push-Based

Tipo de backup utilizado

Image Copies

Número de “Target Channels”

2

Número de “Auxiliary Channels”

1


A continuación se muestra el comando DUPLICATE de RMAN para este caso:

RMAN>run
{
 allocate channel c1 device type disk;
 allocate channel c2 device type disk;
 allocate auxiliary channel a1 device type disk;
 
  duplicate target database to dupcdb 
   from active database 
     spfile 
        parameter_value_convert='prmcdb','dupcdb' 
      set db_file_name_convert='prmcdb','dupcdb'
      set log_file_name_convert='prmcdb','dupcdb';
} 


Descripción del código:

Como puede verse en el código de arriba, RMAN asigna dos “target channels” (c1 y c2), y un “auxiliary channel”  (a1) para la operación de duplicación. Como ya sabe, si el numero asignado de “target channels” es mayor que el numero de “auxiliary channels”, entonces RMAN usará el método “Push-Based” de “Active Database duplication”. Con este método, RMAN usa las “image copies” de la base origen para realizar  la duplicación. . También utilizamos en este caso los parámetros  parameter_value_convert  y  db{log}_file_name_convert en el comando duplicate. El uso de estos parámetros está explicado en la primera parte (parte 1) de esta serie de artículos.
En la salida podemos observar un procedimiento normal de duplicación  como siempre  fue  en versiones anteriores.

Veamos este código en acción:

[oracle@oel62-ora12c-prm ~]$ rman
 
Recovery Manager: Release 12.1.0.1.0 - Production on Tue Apr 8 12:50:13 2014
 
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
 
RMAN> connect target sys/*****@prmcdb
 
connected to target database: PRMCDB (DBID=2508276746)
 
RMAN> connect auxiliary sys/*****@dupcdb
 
connected to auxiliary database: DUPCDB (not mounted)
 
RMAN>run
2> {
3> allocate channel c1 device type disk;
4> allocate channel c2 device type disk;
5> 
6> allocate auxiliary channel a1 device type disk;
7> 
8> duplicate target database to dupcdb 
9>  from active database 
10>  spfile 
11>   parameter_value_convert='prmcdb','dupcdb' 
12>   set db_file_name_convert='prmcdb','dupcdb'
13>   set log_file_name_convert='prmcdb','dupcdb';
14> } 
 
using target database control file instead of recovery catalog
 
allocated channel: c1
channel c1: SID=71 device type=DISK
 
allocated channel: c2
channel c2: SID=7 device type=DISK
 
allocated channel: a1
channel a1: SID=21 device type=DISK
 
Starting Duplicate Db at 08-APR-14
 
current log archived
 
…   Output is cleared
 
executing command: SET NEWNAME
 
executing command: SET NEWNAME
 
Starting backup at 08-APR-14
channel c1: starting datafile copy
input datafile file number=00003 name=/u01/app/oracle/oradata/prmcdb/sysaux01.dbf
channel c2: starting datafile copy
input datafile file number=00001 name=/u01/app/oracle/oradata/prmcdb/system01.dbf
output file name=/u01/app/oracle/oradata/dupcdb/sysaux01.dbf tag=TAG20140408T125110
channel c1: datafile copy complete, elapsed time: 00:02:15
 
… Output is cleared
 
Finished backup at 08-APR-14
 
… Output is cleared
 
datafile 1 switched to datafile copy
input datafile copy RECID=3 STAMP=844347476 file name=/u01/app/oracle/oradata/dupcdb/system01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=4 STAMP=844347477 file name=/u01/app/oracle/oradata/dupcdb/sysaux01.dbf
 
… Output is cleared
 
sql statement: alter pluggable database all open
Finished Duplicate Db at 08-APR-14
 
released channel: c1
released channel: c2
 
Recovery Manager complete.

Como puede verse en la salida de arriba, RMAN utiliza los “target channels” (c1 and c2) para copiar la base de datos origen. Este es el mismo método de “Active Database duplication” utilizado en versiones anteriores a Oracle Database 12c Release 1 (12.1.0.1). 

 


Joel Pérez es un experto DBA (Oracle ACE Director, OCM Cloud Admin. & OCM11g) con más de 15 años de experiencia real en el mundo de tecnología Oracle, especializado en diseño e implementación de soluciones de: Cloud, Alta disponibilidad, Recuperación contra desastres, Upgrades, Replicación y toda área relacionada con bases de datos Oracle. Consultor Internacional con trabajos, conferencias y actividades relacionadas en más de 50 países alrededor del mundo. Habitual Orador en eventos Oracle alrededor del mundo como: OTN LAD, OTN MENA, OTN APAC y más. Joel se ha caracterizado siempre por ser un pionero en materia de tecnología Oracle desde los inicios de su carrera siendo el primer latinoamericano en ser nombrado "OTN Expert" en el año 2003, uno de los primeros Oracle ACE en el programa ACE en el año 2004, unos de los primeros OCP Cloud en el mercado global en el año 2013 y como uno de los mayores logros de su carrera, recientemente en el 2014 fue honorificado como uno de los primeros "OCM Database Cloud Administrator" del mundo. En la actualidad Joel Pérez esta radicado en el continente de Asia con base en Beijing, China llevando a cabo operaciones profesionales como “Chief Technologist & MAA, HA Arquitect” para Yunhe Enmo (Beijing) Technology Co. Ltd.
http://education.oracle.com/education/otn/JoelPerez.htm 

Mahir M. Quluzade es un Senior DBA con mas de 10 anos de experiencia en bases de datos Oracle con especial foco en "High Availability" & "Disaster Recovery Solutions (RAC, Data Guard, RMAN,…)". Mahir actualmente trabaja en el "Central Bank of the Republic of Azerbaijan". El es OCP DBA. Mahir es frecuente orador en el "Azerbaijan Oracle User Group (AZEROUG)".

Sebastián D'Alessandro es un Senior DBA con más de 12 años de experiencia en tecnología Oracle, focalizado principalmente en seguridad de base de datos, soluciones de alta disponibilidad, disaster recovery y virtualización. Actualmente desarrolla su actividad como consultor e instructor de manera independiente.

Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en cumplimiento de las normas y prácticas para el uso de los productos Oracle.