We cannot open a pluggable database if the CDB is in mount state.
Demo:
SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- --------------------
ORCL1210 MOUNTED
SQL> alter session set container=pdb1;
Session altered.
SQL> show con_name;
CON_NAME
------------------------------
PDB1
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-65054: Cannot open a pluggable database in the desired mode.
Now, I'm opening the container Database first and then running the same command
SQL> alter session set container=CDB$ROOT;
Session altered.
SQL> sho con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> alter database open;
Database altered.
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- --------------------
ORCL1210 READ WRITE
SQL> alter session set container=pdb1;
Session altered.
SQL> sho con_name
CON_NAME
------------------------------
PDB1
SQL> alter database open;
Database altered.
SQL> select name,open_mode from v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB1 READ WRITE
Demo:
SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- --------------------
ORCL1210 MOUNTED
SQL> alter session set container=pdb1;
Session altered.
SQL> show con_name;
CON_NAME
------------------------------
PDB1
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-65054: Cannot open a pluggable database in the desired mode.
Now, I'm opening the container Database first and then running the same command
SQL> alter session set container=CDB$ROOT;
Session altered.
SQL> sho con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> alter database open;
Database altered.
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- --------------------
ORCL1210 READ WRITE
SQL> alter session set container=pdb1;
Session altered.
SQL> sho con_name
CON_NAME
------------------------------
PDB1
SQL> alter database open;
Database altered.
SQL> select name,open_mode from v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB1 READ WRITE
You are really Guru Man...!
ReplyDelete