Clone PDB from NON$CDB in Oracle 18

 

Es ist soweit – nach und nach nehmen die Migrationsprojekte auf Oracle 18 Fahrt auf.

Eine sehr cooles Feature in Oracle 18 ist, dass man in einer Multi- oder auch Single-Tenant-Umgebung eine neue PDB aus einer vorhandenen Non-CDB clonen kann.

Voraussetzungen hierfür sind:

  • eine Quell-Datenbank mindestens Version 12.1.0.2
  • ein User in dieser Quell-Datenbank mit dem CREATE PLUGGABLE DATABASE Privileg
  • Ein Database Link von der Ziel-CDB zur Quell-Non-CDB, der den o.g. User als connect verwendet.
  • in der CDB sind mindestens die Komponenten installiert, die auch in der Quell-Datenbank vorhanden sind. Ausnahme: APEX – dies sollte nicht in der CDB, sondern nur, falls erforderlich, in der / den PDB(s) installiert werden.

Sind diese Voraussetzungen erfüllt, kann man ganz einfach die neue PDB mit dem Befehl

CREATE PLUGGABLE DATABASE mypdb FROM NON$CDB@clone_dblink;

anlegen.

Klappt wunderbar und dauert auch gar nicht lang: bei einem Test brauchte der Clone einer 425GB großen Quell-Datenbank ca. 45 Minuten. Allerdings muss man natürlich die neue PDB noch auf den Stand der CDB (also in dem Fall 18.3) bringen – heißt also: Upgrade der PDB mit catcon.pl.

SQL> alter pluggable database newpdb open upgrade;

SQL> exit

cd $ORACLE_HOME/rdbms/admin

$ORACLE_HOME/perl/bin/perl catctl.pl -c „NEWPDB“ -l /u01/app/oracle/admin/MYCDB/script/upgrade catupgrd.sql

Die neue PDB ist jetzt ebenfalls eine 18! Allerdings ist der Modus momentan noch „Restricted“, was daraus resultiert, dass die neue PDB von einer Non-CDB geklont wurde – daher muss noch das Skript $ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql ausgeführt werden.

Nun ist die neue PDB bereit zur Verwendung!

 

Schreibe einen Kommentar