Oracle数据库CDB与PDB介绍

 Oracle 12C以及更高版本中引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,中文翻译为可插拔数据库。

在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方文档关于CDB与PDB的关系图。

Oracle数据库CDB与PDB介绍_第1张图片

        CDB相当于操作系统,调用并管理各个PDB。PDB相当于真正提供业务需求的数据库实例。

Oracle 12C安装后只创建了CDB容器数据库,需要自己生成相应的PDB。

1、查看当前是否处于容器CDB

SQL> show con_name;

CON_NAME

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

CDB$ROOT

如果结果为CDB&ROOT,则为容器数据库(CBD),结果为ORCLPDB1(这个PDB名字根据自己的实际情况而定,不是固定的),则为可插拔数据库(PDB)。

2、查看容器中的数据库名

SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

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

         2 PDB$SEED                       READ ONLY  NO

         3 ORCLPDB1                       READ WRITE NO

3、切换到PDB

SQL> alter session set container=ORCLPDB1;   (这个名字根据自己实际情况而定)

Session altered.

4、切换到CDB

SQL> alter session set container=CDB$ROOT;

Session altered.

SQL> show con_name; 

CON_NAME

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

CDB$ROOT

你可能感兴趣的:(数据库,oracle,sql)