Hot Clone / Copy von Pluggable Databases (PDBs) mit Oracle 12.2
Musste bisher (Oracle Version 12.1.0.2) beim Clonen / Copy einer PDB die Source PDB READ ONLY geöffnet sein - was zur einer Auszeit für die jeweilige Applikation führte - kann mit Version 12.2 die Erstellung einer neuen PDB als Kopie einer bestehenden PDB auch dann erfolgen, wenn die Source PDB READ WRITE geöffnet ist.
Wie geht das ?
Die Ausgangssituation:
SQL> select name,open_mode from v$pdbs order by con_id;
NAME OPEN_MODE
---------- ----------
PDB$SEED READ ONLY
DB122BPDB READ WRITE
Wir erstellen einen Clone / Kopie von DB122BPDB mit dem Namen DB122BKTST:
SQL> create pluggable database db122bktst from db122bpdb file_name_convert = ('DB122Bpdb','DB122Bktst');
Pluggable database created.
SQL> select name,open_mode from v$pdbs order by con_id;
NAME OPEN_MODE
---------- ----------
PDB$SEED READ ONLY
DB122BPDB READ WRITE
DB122BKTST MOUNTED
Anmerkung: "file_name_convert" ist notwendig, weil in diesem Fall kein OMF verwendet wurde.
Die neu erstellte PDB ist vorerst im Status "MOUNTED", um den Kopiervorgang abzuschliessen, muss sie noch geöffnet werden:
SQL> alter pluggable database db122bktst open;
Pluggable database altered.
SQL> select name,open_mode from v$pdbs order by con_id;
NAME OPEN_MODE
---------- ----------
PDB$SEED READ ONLY
DB122BPDB READ WRITE
DB122BKTST READ WRITE
Fertig!
Zusammenfassung
Dass man mit Oracle 12c Release 2 endlich PDBs im laufenden Betrieb clonen kann, ist eine wirkliche Verbesserung. Zusätzlich funktioniert das ganze auch problemlos in einem Data Guard Environment (was mit Oracle 12c Release 1 noch nicht so einfach funktioniert hat).
Siehe auch: