How to open the Pluggable databases (PDBs) automatically in read write mode when container database (CDB) restarts
Note: Generally, Container database won't let open all PDBs in READ-WRITE mode after each database restarts and to make all the PDBs to open in READ-WRITE mode we need to create a trigger to achieve this.
Method-1: Using SAVE STATE option
SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1593835520 bytes
Fixed Size 8793256 bytes
Variable Size 956302168 bytes
Database Buffers 620756992 bytes
Redo Buffers 7983104 bytes
Database mounted.
Database opened.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED ---------- all are in MOUNTED state after db restarts
4 PDB2 MOUNTED
5 PDB5 MOUNTED
6 PDB3 MOUNTED
7 PDB4 MOUNTED
SQL> alter pluggable database all open; --- open all PDBS in read write mode
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB2 READ WRITE NO
5 PDB5 READ WRITE NO
6 PDB3 READ WRITE NO
7 PDB4 READ WRITE NO
SQL> --- save the state
SQL> alter pluggable database all save state;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB2 READ WRITE NO
5 PDB5 READ WRITE NO
6 PDB3 READ WRITE NO
7 PDB4 READ WRITE NO
SQL> --- restart the database to check the PDBs state
SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1593835520 bytes
Fixed Size 8793256 bytes
Variable Size 956302168 bytes
Database Buffers 620756992 bytes
Redo Buffers 7983104 bytes
Database mounted.
Database opened.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO ----- all PDBs are in READ WRITE mode
4 PDB2 READ WRITE NO
5 PDB5 READ WRITE NO
6 PDB3 READ WRITE NO
7 PDB4 READ WRITE NO
Method-2: Using database trigger
2 BEGIN
3 EXECUTE IMMEDIATE 'alter pluggable database all open';
4 END pdb_auto_startup;
5 /
Trigger created.
How to see which container you are logged in:
CON_NAME
------------------------------
PDB1
Comments
Post a Comment