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