Clonar una PDB dentro de la misma CDB (clon local / hot clone)
OracleMultitenantComando
-- Hot clone prerequisites: local undo + ARCHIVELOG
SELECT property_value AS local_undo
FROM database_properties WHERE property_name = 'LOCAL_UNDO_ENABLED';
SELECT log_mode FROM v$database;
CREATE PLUGGABLE DATABASE <new_pdb> FROM <pdb>
FILE_NAME_CONVERT = ('/<pdb>/', '/<new_pdb>/');
-- OMF/ASM: CREATE PLUGGABLE DATABASE <new_pdb> FROM <pdb> CREATE_FILE_DEST = '+DATA';
ALTER PLUGGABLE DATABASE <new_pdb> OPEN;
SELECT name, open_mode FROM v$pdbs WHERE name = UPPER('<new_pdb>');Qué hace
Crea una PDB nueva en la misma CDB copiando los datafiles de la PDB de origen; con local undo y ARCHIVELOG puede ejecutarse mientras el origen está abierto en lectura-escritura (hot clone).
Cuándo usarlo
Para crear una copia de prueba/desarrollo de una PDB de producción, ensayar un upgrade o parche, o tomar una copia rápida antes de un cambio arriesgado.
Precaución
La copia genera I/O adicional en el origen y necesita en el destino tanto espacio como el origen. En modo shared undo o en NOARCHIVELOG el origen debe estar READ ONLY (documentación de 19c). El clon contiene datos de producción: revise el enmascaramiento, los DB links, los jobs (DBMS_SCHEDULER) y las conexiones a sistemas externos antes de abrirlo.
Relacionado
- Crear una PDB nueva desde PDB$SEED
- Clonar una PDB desde otra CDB por un DB link (clon remoto)
- Desconectar (unplug) una PDB y conectarla (plug) en otra CDB (o en la misma)
- Abrir PDB y mantenerlas abiertas tras reinicios de la CDB (SAVE STATE)
- Definir límites de CPU, memoria, I/O y almacenamiento por PDB
- Confirmar en qué contenedor está y consultar todas las PDB desde el root (CDB_ / CONTAINERS)