Announcements

Oracle training based on real-time expertise as per industry standards. Upcoming batch details are here.

View batch schedule

Free Oracle mock interview. Register using the link.

Register

#DBAchallenge: submit your questions.

Ask questions
Swipe for more →
Browse by Topic
Latest Posts

    Tuesday, June 20, 2023

    PDB save state?

    Automate Pluggable Database opening during Container instance startup


    1) List the PDBs and respective Modes 

    sqlplus / as sysdba
    SQL> show pdbs

    2) Check the Saved State for all PDB’s from DBA view

    SQL> select a.name,b.state from v$pdbs a , dba_pdb_saved_states b where a.con_id = b.con_id;

    3) Check the Saved State for all PDB’s from CDB view

    SQL> SELECT con_name, instance_name, state FROM cdb_pdb_saved_states;

    4) Change Save State of PDB by usig below statement

    alter pluggable database PDB1 save state;

    5) To discard any saved state of a pluggable database using below statement

    alter pluggable database PDB1 discard state;

    logs:

    =====
    [root@oracleprod ~]# su - oracle
    Last login: Wed Jun 21 01:20:29 +08 2023
    [oracle@oracleprod ~]$

    [oracle@oracleprod ~]$ ps -ef|grep smon
    oracle   17433 16853  0 01:45 pts/0    00:00:00 grep --color=auto smon
    oracle   29594     1  0 Jun19 ?        00:00:02 ora_smon_PRODCDB
    [oracle@oracleprod ~]$ . oraenv
    ORACLE_SID = [PRODCDB] ?
    The Oracle base remains unchanged with value /u01/app/oracle
    [oracle@oracleprod ~]$

    [oracle@oracleprod ~]$ env |grep ORA
    ORACLE_SID=PRODCDB
    ORACLE_BASE=/u01/app/oracle
    ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
    [oracle@oracleprod ~]$ sqlplus / as sysdba

    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jun 21 01:47:00 2023
    Version 19.19.0.0.0

    Copyright (c) 1982, 2022, Oracle.  All rights reserved.

    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.19.0.0.0

    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
             6 ORAODB1                        READ WRITE NO
    SQL> exit
    Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.19.0.0.0
    [oracle@oracleprod ~]$
    [oracle@oracleprod ~]$ sqlplus / as sysdba

    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jun 21 01:47:57 2023
    Version 19.19.0.0.0

    Copyright (c) 1982, 2022, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.19.0.0.0

    SQL> shut immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> exit
    Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.19.0.0.0

    [oracle@oracleprod ~]$ ps -ef|grep smon
    oracle   18270 16853  0 01:48 pts/0    00:00:00 grep --color=auto smon
    [oracle@oracleprod ~]$ sqlplus / as sysdba

    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jun 21 01:48:53 2023
    Version 19.19.0.0.0

    Copyright (c) 1982, 2022, Oracle.  All rights reserved.

    Connected to an idle instance.

    SQL> startup;
    ORACLE instance started.

    Total System Global Area 3707763824 bytes
    Fixed Size                  9170032 bytes
    Variable Size            1912602624 bytes
    Database Buffers         1778384896 bytes
    Redo Buffers                7606272 bytes
    Database mounted.
    Database opened.
    SQL> show pdbs

        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 PDB1                           MOUNTED
             4 PDB2                           MOUNTED
             6 ORAODB1                        MOUNTED
    SQL> alter pluggable database PDB1 open;

    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                           MOUNTED
             6 ORAODB1                        MOUNTED
    SQL> alter pluggable database all open;

    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
             6 ORAODB1                        READ WRITE NO
    SQL> alter pluggable database ORAODB1 close;

    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
             6 ORAODB1                        MOUNTED
    SQL> select a.name,b.state from v$pdbs a , dba_pdb_saved_states b where a.con_id = b.con_id;

    no rows selected

    SQL> SELECT con_name, instance_name, state FROM cdb_pdb_saved_states;

    no rows selected

    SQL> alter pluggable database PDB1 save state;

    Pluggable database altered.

    SQL> col CON_NAME for a20;
    SQL> col INSTANCE_NAME for a20;
    SQL> col state for a20;
    SQL> SELECT con_name, instance_name, state FROM cdb_pdb_saved_states;

    CON_NAME             INSTANCE_NAME        STATE
    -------------------- -------------------- --------------------
    PDB1                 PRODCDB              OPEN

    SQL> col name for a20;
    SQL> select a.name,b.state from v$pdbs a , dba_pdb_saved_states b where a.con_id = b.con_id;

    NAME                 STATE
    -------------------- --------------------
    PDB1                 OPEN

    SQL> alter pluggable database PDB2 save state;

    Pluggable database altered.

    SQL> col name for a20;
    SQL> select a.name,b.state from v$pdbs a , dba_pdb_saved_states b where a.con_id = b.con_id;

    NAME                 STATE
    -------------------- --------------------
    PDB1                 OPEN
    PDB2                 OPEN

    SQL> alter pluggable database ORAODB1 save state;

    Pluggable database altered.

    SQL> col name for a20;
    SQL> select a.name,b.state from v$pdbs a , dba_pdb_saved_states b where a.con_id = b.con_id;

    NAME                 STATE
    -------------------- --------------------
    PDB1                 OPEN
    PDB2                 OPEN

    SQL> shut immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup;
    ORACLE instance started.

    Total System Global Area 3707763824 bytes
    Fixed Size                  9170032 bytes
    Variable Size            1912602624 bytes
    Database Buffers         1778384896 bytes
    Redo Buffers                7606272 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
             4 PDB2                           READ WRITE NO
             6 ORAODB1                        MOUNTED

    SQL> col name for a20;
    SQL> select a.name,b.state from v$pdbs a , dba_pdb_saved_states b where a.con_id = b.con_id;

    NAME                 STATE
    -------------------- --------------------
    PDB1                 OPEN
    PDB2                 OPEN

    SQL> SELECT con_name, instance_name, state FROM cdb_pdb_saved_states;

    CON_NAME             INSTANCE_NAME        STATE
    -------------------- -------------------- --------------------
    PDB1                 PRODCDB              OPEN
    PDB2                 PRODCDB              OPEN

    SQL> alter pluggable database PDB1 discard state;

    Pluggable database altered.

    SQL> col CON_NAME for a20;
    SQL> col INSTANCE_NAME for a20;
    SQL> col state for a20;
    SQL> SELECT con_name, instance_name, state FROM cdb_pdb_saved_states;

    CON_NAME             INSTANCE_NAME        STATE
    -------------------- -------------------- --------------------
    PDB2                 PRODCDB              OPEN

    SQL> alter pluggable database PDB2 discard state;

    Pluggable database altered.

    SQL> SELECT con_name, instance_name, state FROM cdb_pdb_saved_states;

    no rows selected

    SQL> exit
    Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.19.0.0.0
    [oracle@oracleprod ~]$

    Regards,
    Mallikarjun Ramadurg
    WhatsApp: +91 9880616848
    gmail: mallikarjun.ramadurg@gmail.com

    🌟 Proud to be an Oracle ACE Pro! 🚀

    🌟 Proud to be an Oracle ACE Pro! 🚀 I’m excited to share my official Oracle ACE Profile with the Oracle community. 👨‍💻 Mallikarjun ...