Oracle学习笔记之12C中的PDB自启动

在Oracle 12C版本中,CDB启动后,PDB是MOUNT状态,而不是和CDB一样的READ WRITE状态。启动PDB需要手动在CBD下执行PDB启动命令,例如,alter pluggable database all open,启动所有的PDB,这也有些麻烦,下面来介绍2种PDB的自启动方法。
1.在12.1.0.1版本,PDB是不支持自启动的,只能通过触发器来实现
在CDB种创建触发器,在CDB启动时启动PDB
下面是启动所有PDB

CREATE TRIGGER open_pdbs
AFTER STARTUP
ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/

如果要单独启动PDB,修改启动语句即可
单独启动PDB1

CREATE TRIGGER open_pdbs
AFTER STARTUP
ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database pdb1 open';
END open_all_pdbs;
/

2.从12.1.0.2版本,PDB开始支持自启动,通过alter pluggable database [pdb_name | all] save state命令来实现,该命令会记录PDB当前状态到数据字典dba_pdb_saved_states中,在下次启动CDB时,会查询该视图中的PDB状态,如果PDB是OPEN,那么就启动PDB

alter pluggable database [pdb_name | all] save state;

查询记录的PDB状态

select con_name,state from dba_pdb_saved_states;

上一篇:Android--ActivityLiving生命周期


下一篇:Oracle运维笔记之有关外部表的ORA-20011错误