您的位置:首页 > 数据库 > Oracle

Oracle12cCDB和PDB数据库的启动与关闭说明

2015-12-21 09:52 567 查看
在Oracle 12c中,分CDB 和PDB,他们的启动和关闭操作整理如下。

1 Container Database (CDB)

对于CDB,启动和关闭与之前传统的方式一样,具体语法如下:

STARTUP[NOMOUNT | MOUNT | RESTRICT | UPGRADE | FORCE | READ ONLY]

SHUTDOWN[IMMEDIATE | ABORT]

要注意,在12c数据库创建完成后,默认情况下使用sqlplus / as sysdba 登录连接的是CDB。

?
我们现在连接的是CDB,即root container。

我们关闭CDB:

?
我们关闭CDB之前PDB 是没有关闭的,所以这个操作也会把PDB 关闭掉。

?
注意这里的PDB,在CDB 启动之,PDB 是自动启动到mount状态,而不是OPEN。 所以我们还需要手工去open它,当然,也可以通过在CDB中配置触发器来自动open。

2 Pluggable Database (PDB)

PDB 的操作可以通过SQL*PLUS 来操作,也可以通过ALTER PLUGGABLE DATABASE 命令操作。

2.1 使用SQL*Plus 命令

因为默认连接的是CDB,所以必须先指定PDB才可以通过sqlplus来启动和关闭PDB,

具体语法和普通实例一样:

?
启动成功。 当我们切换到PDB之后,就看不到seed PDB的信息了。

2.2 使用ALTER PLUGGABLE DATABASE命令

如果在PDB中可以使用如下语法:

?
如果是在CDB中,可以使用如下语法:

?
<pdd-name-clause>表示的是多个PDB,如果有多个,用逗号分开。 也可以使用ALL或者ALL EXCEPT关键字来替代。

ALL:表示所有的PDBS。

ALLEXCEPT 表示需要排除的PDBS。

如:

?
示例:

?

3 设置Pluggable Database (PDB) 的自动startup

默认情况下,在CDB 启动的时候,all 的PDB 都是mount状态,也没有默认的机制,在CDB启动时自动启动PDB。

但这里可以通过触发器来实现PDB的自动open:

?
示例:

?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: