Oracle 12c启动时PDBs的自动打开

Pluggable Database(PDB)为Oracle 12c中的一个重要的新特性, 但启动12c实例时并不会自动打开PDB数据库,这样,在启动实例后必须手动打开PDBs。

1. 实例启动后,手工打开PDBs
[Oracle@12c ~]$ sqlplus "/as sysdba"


SQL> select open_mode from v$database;


SQL> alter pluggable database pdb1 open;


SQL> alter pluggable database pdb2 open;


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


--或用all选项启动所有PDBs


SQL> alter pluggable database all open;


2. 实例启动时,自动打开所有PDBs。
如果不想或不方便手工打开PDBs,也可通过定制Trigger在启动实例时将PDBs自动打开。
CDB$ROOT中SYS用户下创建如下触发器即可:
CREATE TRIGGER open_all_pdbs
AFTER STARTUP
ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/
这样,在oracle 12c实例启动时,其所有的PDBs也会自动打开并可供用户使用了。

原文地址:https://www.cnblogs.com/lhdz_bj/p/9414482.html