oracle 12c pluggable database,【12c新特性】12c中如何自动启动PDB Pluggable Database

01fac6460a22031b8af8da5848698a70.png

PDB Pluggable Database是12c中扛鼎的一个新特性, 但是对于CDB中的PDB,默认启动CDB时不会将所有的PDB带起来,这样我们就需要手动alter pluggable database ALL OPEN;

例如:

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>

SQL> startup ;

ORACLE instance started.

Total System Global Area 1419685888 bytes

Fixed Size 2288344 bytes

Variable Size 536872232 bytes

Database Buffers 872415232 bytes

Redo Buffers 8110080 bytes

Database mounted.

Database opened.

SQL> select con_id,name,open_mode from v$pdbs;

CON_ID NAME OPEN_MODE

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

2 PDB$SEED READ ONLY

3 MACC MOUNTED

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

CREATE TRIGGER open_all_pdbs

AFTER STARTUP

ON DATABASE

BEGIN

EXECUTE IMMEDIATE 'alter pluggable database all open';

END open_all_pdbs;

/

Trigger created.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>

SQL> startup;

ORACLE instance started.

Total System Global Area 1419685888 bytes

Fixed Size 2288344 bytes

Variable Size 536872232 bytes

Database Buffers 872415232 bytes

Redo Buffers 8110080 bytes

Database mounted.

Database opened.

SQL> select con_id,name,open_mode from v$pdbs;

CON_ID NAME OPEN_MODE

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

2 PDB$SEED READ ONLY

3 MACC READ WRITE

NOTE: dependency between database MAC and diskgroup resource ora.DATADG.dg is established

alter pluggable database all open

Sun Jul 07 01:40:59 2013

This instance was first to open pluggable database MACC (container=3)

Opening pdb MACC (3) with no Resource Manager plan active

Pluggable database MACC opened read write

Completed: alter pluggable database all open

Starting background process CJQ0

使用SYS用户创建如下触发器即可:

conn / as sysdba

CREATE TRIGGER open_all_pdbs

AFTER STARTUP

ON DATABASE

BEGIN

EXECUTE IMMEDIATE 'alter pluggable database all open';

END open_all_pdbs;

/