Start up and shut down a CDB/PDB

Overview

Starting and shutting down a CDB is the same as a non-CDB. However. starting and shutting down a PDB requires the use of the ALTER PLUGGABLE DATABASE command.

References

Reading Notes

"40.4.6.4 Modifying the Open Mode of PDBs with ALTER PLUGGABLE DATABASE" lists the following examples:

ALTER PLUGGABLE DATABASE salespdb, hrpdb OPEN READ WRITE; ALTER PLUGGABLE DATABASE salespdb OPEN READ ONLY RESTRICTED; ALTER PLUGGABLE DATABASE salespdb OPEN UPGRADE; ALTER PLUGGABLE DATABASE ALL OPEN READ WRITE; ALTER PLUGGABLE DATABASE ALL OPEN READ WRITE FORCE; ALTER PLUGGABLE DATABASE ALL EXCEPT salespdb, hrpdb CLOSE IMMEDIATE;

"40.4.6.5 Modifying the Open Mode of PDBs with the SQL*Plus STARTUP Command" lists the following examples:

STARTUP PLUGGABLE DATABASE hrpdb OPEN STARTUP PLUGGABLE DATABASE hrpdb RESTRICT STARTUP PLUGGABLE DATABASE hrpdb OPEN READ ONLY RESTRICT STARTUP PLUGGABLE DATABASE hrpdb OPEN READ ONLY STARTUP PLUGGABLE DATABASE hrpdb FORCE

Procedure

All of these commands are run against the JAR CDB on PADSTOW.

Get Initial State of All PDBs

Run the following SQL query to get the initial state of all PDBs:

SELECT name, open_mode, restricted FROM V$CONTAINERS ORDER BY name;

The expected output is:

NAME OPEN_MODE RES ------------------------------ ---------- --- CDB$ROOT READ WRITE NO JAM READ WRITE NO JAM0 READ WRITE NO JAM1 READ WRITE NO PDB$SEED READ ONLY NO PLUM READ WRITE NO VEGEMITE READ ONLY NO VEGEMITER READ WRITE NO 8 rows selected.

Connect to PLUM PDB

Run the following SQL command to connect to the PLUM PDB:

alter session set container=plum;

The expected output is:

Session altered.

Shut Down PLUM PDB

Run the following SQL command:

shutdown immediate

The expected output is:

Pluggable Database closed.

Get Current State of PLUM PDB

Run the following SQL query to get the current state of PLUM PDB:

SELECT name, open_mode, restricted FROM V$CONTAINERS ORDER BY name;

The expected output is:

NAME OPEN_MODE RES ------------------------------ ---------- --- PLUM MOUNTED

Start Up PLUM PDB While Connected to PLUM

Run the following SQL command to start up the PLUM PDB in read/write mode:

startup open

The expected output is:

Pluggable Database opened.

Get Current State of PLUM PDB

Run the following SQL query to get the current state of PLUM PDB:

SELECT name, open_mode, restricted FROM V$CONTAINERS ORDER BY name;

The expected output is:

NAME OPEN_MODE RES ------------------------------ ---------- --- PLUM READ WRITE NO

Close PLUM PDB

Run the following SQL command to close the PLUM PDB:

alter pluggable database plum close;

The expected output is:

Pluggable database altered.

Get Current State of PLUM PDB

Run the following SQL query to get the current state of PLUM PDB:

SELECT name, open_mode, restricted FROM V$CONTAINERS ORDER BY name;

The expected output is:

NAME OPEN_MODE RES ------------------------------ ---------- --- PLUM MOUNTED

Open PLUM PDB

Run the following SQL command to open the PLUM PDB:

alter pluggable database plum open;

The expected output is:

Pluggable database altered.

Get Current State of PLUM PDB

Run the following SQL query to get the current state of PLUM PDB:

SELECT name, open_mode, restricted FROM V$CONTAINERS ORDER BY name;

The expected output is:

NAME OPEN_MODE RES ------------------------------ ---------- --- PLUM READ WRITE NO

Shut Down PLUM PDB While Connected to PLUM

Run the following SQL command to shut down the PLUM PDB while connected to it:

shutdown immediate

The expected output is:

Pluggable Database closed.

Connect to Root Container

Run the following SQL command to connect to the ROOT container:

alter session set container=cdb$root;

The expected output is:

Session altered.

Start Up PLUM PDB While Connected to ROOT Container

Run the following SQL command to start up the PLUM PDB:

startup pluggable database plum

The expected output is:

Pluggable Database opened.

Get Current State of All PDBs

Run the following SQL query to get the current state of all PDBs:

SELECT name, open_mode, restricted FROM V$CONTAINERS ORDER BY name;

The expected output is:

NAME OPEN_MODE RES ------------------------------ ---------- --- CDB$ROOT READ WRITE NO JAM READ WRITE NO JAM0 READ WRITE NO JAM1 READ WRITE NO PDB$SEED READ ONLY NO PLUM READ WRITE NO VEGEMITE READ ONLY NO VEGEMITER READ WRITE NO 8 rows selected.