PDB innerhalb derselben CDB klonen (Local / Hot Clone)
OracleMultitenantBefehl
-- 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>');Was es tut
Legt in derselben CDB eine neue PDB an, indem die Datafiles der Quell-PDB kopiert werden; mit Local Undo und ARCHIVELOG ist das möglich, während die Quelle read-write geöffnet ist (Hot Clone).
Wann einsetzen
Um eine Test-/Entwicklungskopie einer Produktions-PDB zu erstellen, ein Upgrade oder einen Patch zu proben oder vor einer riskanten Änderung schnell eine Kopie zu ziehen.
Vorsicht
Die Kopie erzeugt zusätzliche I/O-Last auf der Quelle und braucht am Ziel so viel Platz wie die Quelle. Im Shared-Undo-Modus oder bei NOARCHIVELOG muss die Quelle READ ONLY sein (19c-Dokumentation). Der Klon enthält Produktionsdaten: Prüfe vor dem Öffnen Maskierung, DB-Links, Jobs (DBMS_SCHEDULER) und Verbindungen zu externen Systemen.
Verwandte Einträge
- Neue PDB aus PDB$SEED anlegen
- PDB aus einer anderen CDB über einen DB-Link klonen (Remote Clone)
- PDB ausstecken (Unplug) und in eine andere (oder dieselbe) CDB einstecken (Plug)
- PDBs öffnen und über CDB-Neustarts hinweg offen halten (SAVE STATE)
- CPU-, Speicher-, I/O- und Storage-Limits je PDB festlegen
- Aktuellen Container bestätigen und alle PDBs vom Root aus abfragen (CDB_ / CONTAINERS)