Oralce 12C 开始支持pluggable database,相信刚开始接触的小伙伴不是很熟悉怎么使用容器库,官方给出的最经典的图解,CDB 与PDB的关系如下:
通过SQLplus登陆,这个时候我们登陆的是CDB,也就就CDB$ROOT,它是存储数据库metedata 和common user的库。
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PROD1PDB READ WRITE NO
默认的PDB ,如上面con_name = PROD1PDB, 默认的情况 mount状态的, 需要通过命令open。
alter pluggable database <pdbs-name> open / colse. 或是是 alter pluggable database all open / colse.
好了,紧接着介绍我们使用容器库是如何切换的,很简单,一条命令 alter session set container=<con_name>,
SQL> alter session set container=PDB$SEED;
Session altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
SQL> alter session set container=PROD1PDB;
Session altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PROD1PDB READ WRITE NO