DBAtlas · Atlas d'exploitation des bases de données

Cloner une PDB dans la même CDB (clone local / à chaud)

OracleMultitenant

Commande

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

Ce que fait la commande

Crée une nouvelle PDB dans la même CDB en copiant les datafiles de la PDB source ; avec local undo et ARCHIVELOG, cela peut s'exécuter pendant que la source est ouverte en lecture-écriture (hot clone).

Quand l'utiliser

Pour créer une copie de test/développement d'une PDB de production, répéter une mise à niveau ou un patch, ou faire une copie rapide avant un changement risqué.

Attention

La copie génère des E/S supplémentaires sur la source et nécessite autant d'espace que la source sur la cible. En mode shared undo ou en NOARCHIVELOG, la source doit être READ ONLY (documentation 19c). Le clone contient des données de production : vérifiez le masquage, les DB links, les jobs (DBMS_SCHEDULER) et les connexions aux systèmes externes avant de l'ouvrir.

Ouvrir dans DBAtlas →

Voir aussi