In oracle 12c , when we startup the CDB, the PDBS will be in MOUNTED stage. We need to open them manually using alter pluggable PDB open. To make the PDBS open automatically, we can use the saved state option . This feature is available from Oracle 12.1.0.2  onwards 

For more information about CDB and PDB , refer   Oracle 12c multitenent architecture

DEMO:

1.  Restart the container database:

2. Check the status of PDBS:

   We can see the PDBS are in MOUNTED stage after starting CDB. Lets open them

3. Open the PDBS:

Now use save state command to save the states, so that next time ,when container db restarts, PDBs will in READ WRITE MODE automatically.

4. Save the PDB state:

5. check the saved state in dba_pdb_saved_states

6.Bounce the container database, to check the PDB state:

We can observed that PDBs are in READ WRITE mode automatically.

DISCARD STATE OPTION:

 

      We can discard the saved state, so that next time CDB restarts, PDBs will start with MOUNT STATE only.
Lets discard state for PDB2 .

 

1. Bounce the CDB to check the PDB State:

We can observe that, only PDB2 started in MOUNTED stage, because we have discarded the saved state for PDB2 .

 

As this feature is not available in 12.1.0.1 , we can create a trigger to open the PDBs automatically, with container database startup.

CREATE TRIGGER open_all_pdbs
  AFTER STARTUP ON DATABASE
BEGIN
   EXECUTE IMMEDIATE ‘ALTER PLUGGABLE DATABASE ALL OPEN’;
END ;
/

 

 

SEE ALSO:

How to convert non-cdb to pdb in oracle 12c