• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

When to Use Startup/Shutdown Database and Alter Database Command in Oracle 12c

by admin

Before 12c there are only few commands available for startup and shutdown but if we follow that we may end up starting and stopping the PDBs and CDB as well.

shutdown normal
shutdown immediate
shutdown abort
startup
startup nomount
startup mount

If we use one of these traditional shutdown methods at the container database (CDB) layer, we will bring down the CDB and the associated PDBs under it. This is something to be aware of when looking to reboot a container database. Let’s take a look at bringing down a CDB.

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
ora12c
SQL> show con_name;

CON_NAME
------------------------------
CDB$ROOT
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> alter session set container=PDB1;
alter session set container=PDB1
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

Thus, a SHUTDOWN IMMEDIATE at the CDB level will close the CDB and all other PDBs under than CDB.

How can we shutdown just a single PDB if needed?

There are two different ways to shutdown a PDB.

1. The first of which is from the CDB layer.
We use this method for maintenance purpose without affecting other pdb. We can shutdown a PDB from the CDB level using the ALTER PLUGGABLE DATABASE command.

alter pluggable database open read write
alter pluggable database open read only
alter pluggable database open upgrade
alter pluggable database close

For example, first find out current state of pdb’s:

SQL> select con_id, name, open_mode from v$pdbs;

CON_ID     NAME                           OPEN_MODE
---------- ------------------------------ ----------
 2         PDB$SEED                       READ ONLY
 3         PDB1                           MOUNTED
 4         PDBTEST                        MOUNTED
 5         PDB2                           MOUNTED

Top open a particular PDB named PDB1, use the below query:

SQL> alter pluggable database PDB1 open;
Pluggable database altered.
SQL> select con_id, name, open_mode from v$pdbs;

CON_ID     NAME                           OPEN_MODE
---------- ------------------------------ ----------
 2         PDB$SEED                       READ ONLY
 3         PDB1                           READ WRITE
 4         PDBTEST                        MOUNTED
 5         PDB2                           MOUNTED

Open command in pdb is ‘alter pluggable database’ and not ‘startup’.

2. The second of which of from the PDB layer:

We can use the normal SHUTDOWN commands as we would with a traditional database. In order to do this, we have to be in that PDB container first. Here is an example of closing PDB1 with the SHUTDOWN command. For example:

SQL> alter session set container=PDB1;
Session altered.
SQL> select con_id, name, open_mode from v$pdbs;

CON_ID     NAME                           OPEN_MODE
---------- ------------------------------ ----------
 3         PDB1                           READ WRITE

SQL> shutdown immediate;
Pluggable Database closed.
SQL> select con_id, name, open_mode from v$pdbs;

CON_ID     NAME                           OPEN_MODE
---------- ------------------------------ ----------
 3         PDB1                           MOUNTED

Filed Under: oracle, oracle 12c

Some more articles you might also be interested in …

  1. ASM disk addition/deletion hung with no rebalancing
  2. Managing Rollback/Undo Segments in AUM (Automatic Undo Management)
  3. How To Change SYS user password for oracle database instance
  4. How to Clone a Pluggable Database from an RMAN Container Database Backup
  5. How to Create and Drop Guaranteed restore point in Oracle Data Guard
  6. Managing Oracle Database Backup with RMAN (Examples included)
  7. How to Enable or Disable Veritas ODM for Oracle database 12.1.0.2, 18c and 19c
  8. How to use Flashback Database in Oracle Data Guard Configuration
  9. How to Set Timeout for WebLogic Web Service Client (JAX-WS and JAX-RPC)
  10. Understanding Oracle Background Processes

You May Also Like

Primary Sidebar

Recent Posts

  • JavaFX ComboBox: Set a value to the combo box
  • Nginx load balancing
  • nginx 504 gateway time-out
  • Images preview with ngx_http_image_filter_module

© 2022 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright