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

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

2017-05-06 09:14 423 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: