A PDB is cloned while in read-write, Data Guard loose its marbles (, ORA-19729)

UPDATE: please check my more recent post about this problem and the information I’ve got at the Oracle Demo Grounds during OOW14: http://www.ludovicocaldara.net/dba/demo-grounds-clone-pdb-rw/

I feel the strong need to blog abut this very recent problem because I’ve spent a lot of time debugging it… especially because there’s no information about this error on the MOS.

For a lab, I have prepared two RAC Container databases in physical stand-by.
Real-time query is configured (real-time apply, standby in read-only mode).

Following the doc, http://docs.oracle.com/database/121/SQLRF/statements_6010.htm#CCHDFDDG, I’ve cloned one local pluggable database to a new PDB and, because Active Data Guard is active, I was expecting the PDB to be created on the standby and its files copied without problems.

BUT! I’ve forgot to put my source PDB in read-only mode on the primary and, strangely:

  • The pluggable database has been created on the primary WITHOUT PROBLEMS (despite the documentation explicitly states that it needs to be read-only)
  • The recovery process on the standby stopped with error.


Now, the primary had all its datafiles (the new PDB has con_id 4):


and the standby was missing the datafiles of the new PDB:


But, on the standby database, the PDB somehow was existing.


I’ve tried to play a little, and finally decided to disable the recovery for the PDB (new in
But to disable the recovery I was needing to connect to the PDB, but the PDB was somehow “inexistent”:


So I’ve tried to drop it, but off course, the standby was read-only and I could not drop the PDB:


Then I’ve shutted down the standby, but one instance hung and I’ve needed to do a shutdown abort (I don’t know if it was related with my original problem..)


After mounting again the standby, the PDB was also accessible:


So I’ve been able to disable the recovery:


Then, on the primary, I’ve took a fresh backup of the involved datafiles:


and I’ve copied and cataloged the copies to the controlfile:


but the restore was impossible, because the controlfile was not knowing these datafiles!!


So I’ve RESTARTED the recovery for a few seconds, and because the PDB had the recovery disabled, the recovery process has added the datafiles and set them offline.


Then I’ve been able to restore the datafiles 🙂


Finally, I’ve enabled again the recovery for the PDB and restarted the apply process.


Lesson learned: if you want to clone a PDB never, ever, forget to put your source PDB in read-only mode or you’ll have to deal with it!! 🙂

Boost your Oracle RAC manageability with Policy-Managed Databases

The slides of my presentation about Policy-managed databases. I’ve used them to present at Collaborate14 (#C14LV).

The same abstract has been refused by OOW14 and UKOUG_TECH14 selection committees, so it’s time to publish them 🙂