首页 > 电脑技术 > 数据库>正文

oracle 12c数据库PDB、CDB数据库启动及关闭(oracle 12c 新特性)

2018-12-14 11:45:40 来源:电脑技术网 编辑:包小可 浏览

 Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方文档关于CDB与PDB的关系图。

1.jpg

连接到CDB数据库容器非常简单,跟以前连接数据库是一样的
sqlplus / as sysdba
或 sqlplus sys/oracle as sysdba
sqlplus sys/oracle@127.0.0.1:1521/orcl as sysdba

连接到PDB数据库
sqlplus sys/oracle@127.0.0.1:1521/pdborcl as sysdba

启动或关闭CDB数据库
跟操作之前版本的数据库是一样的
sqlplus / as sysdba
startup;
shutdown immediate;

2.jpg

启动或关闭PDB数据库
两种方法
1、连接到PDB再使用startup或 alter database open; 进行启动
sqlplus sys/oracle@127.0.0.1:1524/pdborcl as sysdba;
或在CDB库使用 alter session set container=PDBORCL 切换容器,再用命令启动PDB库

1.jpg

关闭则使用 shutdown immediate;

2、在CDB容器数据库中,使用alter pluggable 命令启动PDB容器数据库
sqlplus / as sysdba  //连接到CDB
alter pluggable database pdborcl open;

1.jpg

存在多个PDB容器数据库,可以使用
alter pluggable database all open;

或者可以通过添加Trigger的形式来定制化startup时自动将PDB OPEN

使用SYS用户创建如下触发器即可:
CREATE TRIGGER open_all_pdbs
   AFTER STARTUP
   ON DATABASE
BEGIN
   EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/

这样,在oracle 12c database 的cdb启动后,pdb也会自动启动了。

相关阅读
关注电脑技术网微信公众号
热门分类
热门文章
热门话题
热门标签