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也会自动打开并可供用户使用了。