一、简介
CDB 与 PDB 是 Oracle 12C 引入的新特性,在 ORACLE 12C 数据库引入
的多租用户环境(
Multitenant Environment
)中,允许一个数据库容器(
CDB
)
承载多个可插拔数据库(
PDB
)。
CDB
全称为
Container Database
,即,数据
库容器,PDB 全称为 Pluggable Database,即可插拔数据库。在 ORACLE 12C
之前,实例与数据库是一对一或多对一关系(
RAC
):即一个实例只能与一
个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是
一对多的关系。当进入 ORACLE 12C 后,实例与数据库可以是一对多的关系。
CDB
与
PDB
的关系图如下。
一个
CDB
数据库容器包含了下面一些组件:
ROOT
组件
ROOT 又叫 CDB$ROOT,存储着 ORACLE 提供的元数据和 Common User,
元数据的一个例子是
ORACLE
提供的
PL/SQL
包的源代码,
Common User
是指
在每个容器中都存在的用户。
SEED 组件
Seed
又叫
PDB$SEED
,这个是创建
PDBS
数据库的模板,不能在
Seed
中添加
或修改一个对象。一个
CDB
中有且只能有一个
Seed
。
PDBS
CDB
中可以有一个或多个
PDBS
,
PDBS
向后兼容,可以像以前在数据库中那
样操作
PDBS
,这里指大多数常规操作。
这些组件中的每一个都可以被称为一个容器。因此,ROOT(根)是一个容器,
Seed(
种子
)
是一个容器,每个
PDB
是一个容器。每个容器在
CDB
中都有一个独
一无二的的
ID
和名称