19c Standard Edition permits 3 PDBs per CDB


A very nice licensing change in 19c: you can now have up to three PDBs in a Standard Edition Multitenant database. Apart from the obvious advantage of being able to do some database consolidation, it gives SE2 users the ability to do those wonderful PDB clone operations. Just one example: if my test database is currently a single tenant CDB I can make a clone of it before some test runs. Like this:

Before cloning, I do like to create an after clone trigger in the source PDB (in this example named atest) to do any changes that might be necessary in the clone, such as disabling the job system:

conn / as sysdba
alter session set container=atest;
create trigger stopjobs after clone on pluggable database
execute immediate 'alter system set job_queue_processes=0';

Then do the clone:
conn / as sysdba
create pluggable database atestcopy from atest;
alter pluggable database atestcopy open;

It is that simple because I always use Oracle Managed FIles. The new clone will be registered with the listener as service name atestcopy, the trigger will have stopped jobs and then dropped itself. At any stage I can then, for example, use the clone to revert to the version of atest as it was at clone creation time simply by dropping atest and renaming atestcopy:
conn / as sysdba
drop pluggable database atest including datafiles;
alter session set container=atestcopy;
alter system set job_queue_processes=100;
alter database rename global name to atest;

That is as good as a Database Flashback - which of course you don't have have in SE.
John Watson
Oracle Certified Master DBA