Oracle12c多租户如何启动关闭CDB或PDB (PDB自动启动)

前端之家收集整理的这篇文章主要介绍了Oracle12c多租户如何启动关闭CDB或PDB (PDB自动启动)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转载地址:http://www.cnblogs.com/andy6/p/6815733.html


Oracle 数据库 12 c 中介绍了多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB)。

下面我们一起来启动和关闭容器数据库 (CDB) 和可插拔数据库 (PDB)。 一、启动与关闭 cdb、pdbs 数据库 说明:对于CDB,启动和关闭与之前传统的方式一样。 1. 启动 CDB 启动和关闭的容器数据库和以前版本的常规实例相同。使用sql*Plus STARTUP和SHUTDOWN命令,必须以特权用户身份连接到CDB。 一些典型用法如下所示。 --12c数据库创建完成后,默认情况下使用sqlplus / as sysdba 登录连接的是CDB。 [oracle@12c01 ~]$ sqlplus / as sysdba sql>startup; sql> select name,cdb,open_mode from v$database; NAME CDB OPEN_MODE -------------------- --- -------------------- ANDYCDB YES READ WRITE sql> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB01 MOUNTED 在CDB 启动之,PDB 是自动启动到mount状态,而不是OPEN。 所以我们还需要手工去open它 2. 关闭CDB,也会把PDB 关闭sql>select con_id,dbid,guid,name,open_mode from v$pdbs; sql>shutdown; 二、 启动与关闭可插接式数据库 (PDB) 3. 启动 PDB 特权用户使用 sql*PLUS 命令或ALTER PLUGGABLE DATABASE命令可以启动和停止可插拔的数据库sql> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB01 MOUNTED sql> alter session set container=pdb01; Session altered. sql> alter pluggable database pdb01 open; Pluggable database altered. sql> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 3 PDB01 READ WRITE NO 启动到其他状态: ALTER PLUGGABLE DATABASE OPEN READ ONLY FORCE; ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE; 4. 关闭 PDB sql> alter pluggable database pdb01 close immediate; Pluggable database altered. 扩展: 1.启动或者关闭一个或多个 PDB,指定的名称为一个以逗号分隔的列表。 ALTER PLUGGABLE DATABASE pdb1,pdb2 OPEN READ ONLY FORCE; ALTER PLUGGABLE DATABASE pdb1,pdb2 CLOSE IMMEDIATE; 2.启动或者关闭 all pdbs ALTER PLUGGABLE DATABASE ALL OPEN; ALTER PLUGGABLE DATABASE ALL CLOSE IMMEDIATE; 3.排除某些pdbs不启动,启动所有为排除的。 ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 OPEN; ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 CLOSE IMMEDIATE; 三、可插接式数据库(PDB) 自动启动 默认情况下,在CDB 启动的时候,all 的PDB 都是mount状态。我们可以通过触发器来实现pdbs随cdb自动启动 [oracle@12c01 ~]$ sqlplus / as sysdba sql> show con_name CON_NAME ------------------------------ CDB$ROOT sql> CREATE OR REPLACE TRIGGER open_pdbs AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN'; END open_pdbs; / Trigger created. 验证 PDB 自动启动: sql> startup; sql> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB01 READ WRITE NO

猜你在找的Oracle相关文章