DBAtlas · Atlas de operações de banco de dados

Clonar um PDB no mesmo CDB (local / hot clone)

OracleMultitenant

Comando

-- 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>');

O que faz

Cria um novo PDB no mesmo CDB copiando os datafiles do PDB de origem; com local undo e ARCHIVELOG pode rodar com a origem aberta em leitura e escrita (hot clone).

Quando usar

Para criar uma cópia de teste/desenvolvimento de um PDB de produção, ensaiar um upgrade ou patch ou fazer uma cópia rápida antes de uma mudança arriscada.

Atenção

A cópia gera I/O extra na origem e precisa no destino de tanto espaço quanto a origem. No modo shared undo ou em NOARCHIVELOG a origem deve estar READ ONLY (documentação do 19c). O clone contém dados de produção: verifique mascaramento, DB links, jobs (DBMS_SCHEDULER) e conexões com sistemas externos antes de abri-lo.

Abrir no DBAtlas →

Relacionados