Sí, es posible hacer un duplicate (duplicado) de una PDB (Pluggable Database) de forma independiente, sin necesidad de duplicar toda la base de datos raíz (CDB).
Aquí te muestro los pasos para realizar un duplicate de una PDB en Oracle 19c:
Preparar el entorno:
- Asegúrate de tener los permisos y privilegios necesarios para realizar la operación de duplicate.
- Verifica que la PDB que deseas duplicar esté en estado «OPEN».
SELECT NAME, OPEN_MODE FROM V$PDBS WHERE NAME = 'pdb_name';
Configurar el directorio para los archivos de respaldo:
- Crea un directorio de base de datos que apunte a la ubicación donde se almacenarán los archivos de respaldo de la PDB.
CREATE DIRECTORY data_pump_dir AS '/ruta/al/directorio';
- Otorga los permisos de lectura y escritura al usuario que realizará la operación de duplicate.
GRANT READ, WRITE ON DIRECTORY data_pump_dir TO usuario;
Realizar el duplicate de la PDB:
- Conéctate a la base de datos raíz (CDB) como usuario con privilegios adecuados.
- Ejecuta el siguiente comando SQL para duplicar la PDB:
DUPLICATE PLUGGABLE DATABASE pdb_name
FROM SNAPSHOT
FILE_NAME_CONVERT = (''/ruta/a/pdb_files'', ''/ruta/a/nueva/pdb_files'')
STORAGE_SNAPSHOTS_SUBSIDIARY;
- Reemplaza
pdb_namecon el nombre de la PDB que deseas duplicar. - Ajusta las rutas de los archivos de datos según corresponda en el parámetro
FILE_NAME_CONVERT.
Verificar el resultado:
- Conéctate a la nueva PDB duplicada y verifica que los datos y objetos se hayan copiado correctamente.
CONNECT usuario/contraseña@nuevapdb
Comprueba que la nueva PDB esté en estado «OPEN» y lista los tablespaces y tablas para confirmar la duplicación.
SELECT NAME, OPEN_MODE FROM V$PDBS WHERE NAME = 'nuevapdb';
SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;
SELECT TABLE_NAME FROM DBA_TABLES;
Algunas consideraciones adicionales:
- El duplicate de una PDB crea una copia independiente de la PDB, lo que permite tener múltiples instancias de la misma PDB en diferentes CDB.
- Puedes utilizar el parámetro
STORAGE_SNAPSHOTS_SUBSIDIARYpara aprovechar las instantáneas de almacenamiento y realizar el duplicate de manera más eficiente. - Asegúrate de tener suficiente espacio de almacenamiento disponible en la ubicación destino de los archivos de datos de la nueva PDB.
- Puedes aplicar también otras configuraciones avanzadas, como la reasignación de esquemas, la compresión de datos, entre otros, durante el proceso de duplicate.
- Recuerda que debes tener los privilegios adecuados (como SYSDBA) para poder realizar las operaciones de duplicate de PDB. Además, asegúrate de reemplazar los valores específicos, como
'pdb_name','/ruta/a/pdb_files','nuevapdb','usuario'y'contraseña', según corresponda a tu entorno.
En resumen, el duplicate de una PDB individual en Oracle 19c te permite crear una copia independiente de la PDB sin necesidad de duplicar toda la base de datos raíz (CDB), lo que proporciona mayor flexibilidad y eficiencia en la gestión y el movimiento de datos en tu entorno Oracle.
¿Por qué podemos hacer esto?
En un entorno Oracle, una base de datos contenedor (CDB) y sus bases de datos enchufables (PDBs) comparten ciertos tipos de archivos, pero también tienen algunos archivos separados. Aquí te explico los principales archivos que comparten y los que son específicos de cada una:
Archivos compartidos entre la CDB y las PDBs:
- Archivos de control (Control Files): Los archivos de control son compartidos entre la CDB y todas las PDBs, ya que contienen información sobre la estructura lógica y física de toda la base de datos.
- Archivos de parámetros (Parameter Files): Algunos archivos de parámetros, como el «spfile» (servidor parameter file), pueden ser compartidos entre la CDB y las PDBs, especialmente aquellos parámetros que afectan a toda la base de datos.
- Archivos de registro (Redo Log Files): Los archivos de registro de cambios (redo log files) son compartidos entre la CDB y las PDBs, ya que registran los cambios realizados en toda la base de datos.
- Archivos de backup (Backup Files): Dependiendo de la configuración, los archivos de backup pueden ser compartidos entre la CDB y las PDBs, lo que permite realizar backups de la base de datos completa o de PDBs individuales.
Archivos específicos de la CDB:
- Archivos de datos (Datafiles): Cada PDB tiene sus propios archivos de datos, pero la CDB también puede tener archivos de datos para objetos a nivel de CDB, como diccionarios de datos.
- Archivos de tablespace (Tablespace Files): Cada PDB tiene sus propios archivos de tablespace, pero la CDB también puede tener archivos de tablespace para objetos a nivel de CDB.
- Archivos de memoria (Memory Files): Algunos archivos de memoria, como el archivo de parámetros (spfile) y los archivos de estadísticas (statspack), pueden ser específicos de la CDB.
Archivos específicos de las PDBs:
- Archivos de datos (Datafiles): Cada PDB tiene sus propios archivos de datos que contienen los objetos y los datos específicos de esa PDB.
- Archivos de tablespace (Tablespace Files): Cada PDB tiene sus propios archivos de tablespace que almacenan los objetos y los datos de esa PDB.
- Archivos de registro (Redo Log Files): Algunas PDBs pueden tener sus propios archivos de registro de cambios, aunque también pueden compartir los archivos de registro con la CDB.
Es importante entender esta separación de archivos entre la CDB y las PDBs, ya que afecta a la administración, el backup, la restauración y la recuperación de la base de datos en un entorno Oracle 19c.






Deja un comentario