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.
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.