[ 2015-08-02 ]

Duplicación de dos "Pluggable Databases" omitiendo una PDB

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 otras partes de esta serie de artículos.  Antes de la duplicación, vamos a sumar una nueva PDB prmpdb03 a la CDB prmcdb clonando la PDB prmpdb02. Si usted aún no agregó una tercera PDB al ambiente de pruebas, necesitará agregar los scripts del Caso 6 en la parte VII de esta serie de artículos. Nuestra CDB origen (prmcdb) se muestra a continuación:
[oracle@oel62-ora12c-prm ~]$ export ORACLE_SID=prmcdb
[oracle@oel62-ora12c-prm ~]$ sqlplus / as  sysdba
 
SQL*Plus: Release 12.1.0.1.0 Production on Mon Apr 14 09:51:44 2014
 
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
 
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
 
SQL> alter pluggable database all open;
 
Pluggable database altered.
 
SQL> select name, open_mode from v$pdbs;
 
NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
PRMPDB01                       READ WRITE
PRMPDB02                       READ WRITE
PRMPDB03                       READ WRITE

Si aún no ha creado el directorio prmpdb03 en el host destino oel62-ora12c-dup, entonces cree  la carpeta para la nueva PDB duplicada (prmpdb03) de manera manual. Esto es necesario porque RMAN no puede crear el directorio de manera automática al duplicar la “Pluggable Database”.  
[oracle@oel62-ora12c-dup ~]$ cd $ORACLE_BASE/oradata/dupcdb
[oracle@oel62-ora12c-dup dupcdb]$ mkdir prmpdb03
[oracle@oel62-ora12c-dup dupcdb]$ ls -l
total 16
drwxr-xr-x 2 oracle oinstall 4096 Apr 14 09:10 pdbseed
drwxr-xr-x 2 oracle oinstall 4096 Apr 14 09:10 prmpdb01
drwxr-xr-x 2 oracle oinstall 4096 Apr 14 09:10 prmpdb02
drwxr-xr-x 2 oracle oinstall 4096 Apr 14 09:46 prmpdb03
[oracle@oel62-ora12c-dup dupcdb]$

Para este caso usamos el comando duplicate de RMAN con las siguientes opciones:
Opción de duplicación
Pluggable Databases – skip pluggable database prmpdb01
Tipo de duplicación
Active Database Duplication
Método de duplicación
Pull-Based
Tipo de backup utilizado
BACKUPSETS   (default)
Número de “Target Channels”
1   (default)
Número de “Auxiliary Channels”
1  (default)

El comando duplicate de RMAN en este caso quedará de la siguiente manera:
duplicate database to dupcdb skip pluggable database prmpdb01 
  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, RMAN duplicará todas las “pluggable databases”  ignorando solo la PDB prmpdb01. En otras palabras, en este caso RMAN duplicará las PDBs prmpdb02 and prmpdb03 pero no la prmpdb01.  Los canales target y auxiliary  no son asignados de manera explícita en este código.  RMAN asigna solamente un channel  default para target  y  otro para auxiliary   (ORA_ DISK_1 and ORA_AUX_DISK_1).  La cantidad de target y auxiliary channels  es la misma, esto significa que en este caso RMAN utilizará el método “Pull-Based” para la duplicación. También utilizamos para 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:

No hay comentarios:

Publicar un comentario