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

No comments:

Post a Comment

Automation Script | Archivelog Generation Hourly Monitoring

1. List out all the running databases and pic one database where we want to monitore the archive log generation from last 1 month. [oracle@o...