Bootstrap

oracle数据库容器默认pdb,ORACLE 12C 新特性CDB及PDB

ORACLE 12C新特性CDB及PDB一.CDB及PDB结构

CDB及PDB关系图

CDB和PDB是ORACLE 12C一个很亮的新特性,由于他们的引入导致传统的ORACLE数据库管理理念不少发生了改变。在ORACLE12C数据库引入多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,即数据库容器,PDB全称为Pluggable Database,即可插拔数据库。一个CDB数据库容器包含了下面一些组件:

l  ROOT组件:

ROOT又叫CDB$ROOT,存储着ORACLE提供的元数据和Common User,元数据的一个例子是ORACLE提供的PL/SQL包的源代码,Common User是指在每个容器中都存在的用户。

l  SEED组件

Seed又叫PDB$SEED,这个是你创建PDBS数据库的模板,你不能在Seed中添加或修改一个对象。一个CDB中有且只能由一个Seed。

l  PDBS

CDB中可以有一个或多个PDBS,PDBS向后兼容,可以像以前在数据库中那样操作PDBS,这里指大多数常规操作。

这些组件中的每一个都可以被称为一个容器。ROOT(根)是一个容器,Seed(种子是一个容器),每个PDB是一个容器。每个容器在CDB中都有一个独一无二的ID和名称。二.CDB及PDB环境切换

Ø  如何确定是CDB还是PDB环境

SQL> show con_name

CON_NAME

------------------------------

CDB$ROOT

如显示CDB$ROOT则代表是CDB环境

SQL> show con_name

CON_NAME

------------------------------

PDORCL(PDB名称)

如显示PDB的某个名称,则处于PDB环境

Ø  如何切换CDB或PDB环境

切换至PDB环境

alter session set container=PDB(某个PDB的具体名称);

切换至CDB环境

alter session set container=CDB$ROOT

Ø  查看当前PDB启动状态及启动数据库

SQL> select con_id,dbid,name,open_mode fromv$pdbs;

CON_ID    DBID NAME                          OPEN_MODE

-------------------------------------------------------------------------

2 3918641363 PDB$SEED                          READ ONLY

3 2055325419 PDORCL                        MOUNTED

4 2055325420PDCATE                               MOUNTED

在CDB环境打开PDB数据库[指定某个PDB名称]

SQL> alter pluggable database PDORCL open;

Pluggable database altered.

在CDB环境下查看PDB状态

SQL> select con_id,dbid,name,open_mode fromv$pdbs;

CON_ID    DBID NAME                          OPEN_MODE

---------- ---------- -------------------------------------------------------------

2 3918641363 PDB$SEED                          READ ONLY

3 2055325419 PDORCL                         READWRITE

关闭PDB数据库

SQL> alter pluggable database PDORCL close;

Pluggable database altered.

在CDB环境下查看PDB状态

SQL> select con_id,dbid,name,open_mode fromv$pdbs;

CON_ID    DBID NAME                          OPEN_MODE

---------- ---------- -------------------------------------------------------------

2 3918641363 PDB$SEED                          READ ONLY

3 2055325419 PDORCL                         READWRITE

如果打开CDB容器下所有PDB数据库或者关闭CDB容器下所有PDB数据库,执行脚本如下:

SQL> alter pluggable database all open;

Pluggable database altered.

SQL> alter pluggable database all close;

Pluggable database altered.三.CDB及PDB下建立用户区别

查看当前属于CDB环境

S

;