12c中一个CDB中可以有多个PDB,当重启了CDB,默认情况下PDB是不会打开的。当然可以通过
触发器去打开PDB,但是可能原生的可能会更好。
1.通过触发器
#CDB下创建一个触发器,打开所有PDB
CREATE TRIGGER open_all_pdbs AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'alter pluggable database all open'; END open_all_pdbs; /
2.通过新特性SAVE STATE
通过SAVE STATE保存CDB重启前PDB的状态。这样重启CDB之后,会自动打开PDB到之前的状态。
例子:
2.1保存PDB1打开状态
ALTER PLUGGABLE DATABASE pdb1 SAVE STATE;
2.2取消PDB1保存打开状态
ALTER PLUGGABLE DATABASE pdb1 DISCARD STATE;
2.3保存所有PDB打开状态
ALTER PLUGGABLE DATABASE ALL SAVE STATE;
2.4保存几个PDB打开状态
ALTER PLUGGABLE DATABASE pdb1,pdb2,pdb3 SAVE STATE;
2.5保存除了PDB salespdb之外所有PDB的打开状态
ALTER PLUGGABLE DATABASE ALL EXCEPT salespdb SAVE STATE;
版权声明:本文为博主原创文章,未经博主允许不得转载。
12c SAVE STATE