Where am I at: CDB vs. PDB? – 12 edition
All right, how many of us use the V$INSTANCE view to verify the instance name and current status of the database after we connect? In Oracle Database 12c, we can still find this information from V$INSTANCE. Breath a sigh of relief, for the moment! What if I connect to a container database and then issue an ALTER SESSION command to move into a different container, i.e. as PDB? Will I get the name of the PDB that I move into from the V$INSTANCE view or do I need to look somewhere else? Lets take a look.
Connect to the container database as usual and use the V$INSTANCE view to see where I’m at.
[oracle@oel6 dbhome_1]$ sqlplus / as sysdbaSQL> select instance_name, version, status, con_id from v$instance;INSTANCE_NAME VERSION STATUS CON_ID
----------------- ----------------- ------------ ----------
ora12cb 12.1.0.1.0 OPEN 0
Lets move into a PDB. I have quite a few PDBs created, lets just use PDB1.
SQL> alter session set container=PDB1;Session altered.
Did I actually move containers? How can I tell? Instead of selecting INSTANCE_NAME from V$INSTANCE; we have two new SHOW commands that will provide us the information we are looking for. These command are quite simple (SHOW CON_ID & SHOW CON_NAME).
SQL> show con_idCON_ID
------------------------------
3
SQL> show con_nameCON_NAME
------------------------------
PDB1
Now that we are confident that we are in PDB1, lets take a look at the V$INSTANCE view again. What you will notice is that V$INSTANCE provides us with information relative to the container database (CDB). It only makes sense that the V$INSTANCE would return CDB information. So, how do we identify items related to the pluggable database (PDB) without the SHOW commands?
Lets take a look at a view that is similar to V$INSTANCE. Enter the V$PDBS view!
SQL> desc v$pdbs;
Name Null? Type
----------------------- -------- ----------------------------
CON_ID NUMBER
DBID NUMBER
CON_UID NUMBER
GUID RAW(16)
NAME VARCHAR2(30)
OPEN_MODE VARCHAR2(10)
RESTRICTED VARCHAR2(3)
OPEN_TIME TIMESTAMP(3)
CREATE_SCN NUMBER
TOTAL_SIZE NUMBER
This view provides similar information as V$INSTANCE does; yet is only specific to PDBs. If we wanted to find out the container_id, name, open_mode and size of the PDB we are currently connected to, we can use this query:
SQL> select con_id, name, open_mode, total_size from v$pdbs;CON_ID NAME OPEN_MODE TOTAL_SIZE
---------- ------------------------------ ---------- ----------
3 PDB1 READ WRITE 393216000
What is interesting to point out, is that since we used an ALTER SESSION statement to switch to PDB1, the V$PDBS view only lists the PDB we are currently working in. If we want to get a complete list of PDBs within the container database, we need to go back to the root container database and run the same SQL statement.
SQL> alter session set container=CDB$ROOT;Session altered.SQL> show con_nameCON_NAME
------------------------------
CDB$ROOT
SQL> select con_id, name, open_mode, total_size from v$pdbs;CON_ID NAME OPEN_MODE TOTAL_SIZE
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY 283115520
3 PDB1 READ WRITE 393216000
4 PDBTEST MOUNTED 0
5 PDB2 READ ONLY 393216000
I hope that everyone now understands how to find information related to PDBs from SQL*Plus.
Enjoy!
twitter: @curtisbl294
blog: http://dbasolved.com
Current Oracle Certs
Bobby Curtis
I’m Bobby Curtis and I’m just your normal average guy who has been working in the technology field for awhile (started when I was 18 with the US Army). The goal of this blog has changed a bit over the years. Initially, it was a general blog where I wrote thoughts down. Then it changed to focus on the Oracle Database, Oracle Enterprise Manager, and eventually Oracle GoldenGate.
If you want to follow me on a more timely manner, I can be followed on twitter at @dbasolved or on LinkedIn under “Bobby Curtis MBA”.
PALLBEARERS Amanda Johnson Derek Droz Mark Gupman Darin Sanders Vern Olson Kenny Light Brad Taylor priligy near me
Hi there! Do you know if thery make any plugins to safeguard against hackers?
I’m kinda paranoid about losing everything I’ve worked hrd on. Any tips? https://www.waste-ndc.pro/community/profile/tressa79906983/
better business bureau online pharmacy priligy Regional anesthesia provides the best postoperative pain control but carries the risks discussed earlier
Frovatriptan Frovatriptan The metabolism of Frovatriptan can be decreased when combined with Tamoxifen buy priligy pakistan