se;
插接式数据库已变更。
SQL> alter session set container=pdb1 ;
会话已更改。
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
3387525155 PDB1 MOUNTED
SQL> startup
插接式数据库已打开。
SQL> shutdown
插接式数据库已关闭。
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
3387525155 PDB1 MOUNTED
SQL>
4.3自动启动所有PDB
从上面的操作中可以看到数据库启动的时候所有的PDBs的状态为MOUNTED,在实际应用可以考虑增加如下的触发器使所有的PDBs都处于打开状态。
create or replace trigger sys.after_startup after startup on database
begin
execute immediate 'alter pluggable database all open ' ;
end after_startup ;
验证过程
SQL> create or replace trigger sys.after_startup after startup on database
begin
execute immediate 'alter pluggable database all open ' ;
end after_startup ;
/
触发器已创建
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 5044088832 bytes
Fixed Size 2413072 bytes
Variable Size 1040190960 bytes
Database Buffers 3992977408 bytes
Redo Buffers 8507392 bytes
数据库装载完毕。
数据库已经打开。
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED READ ONLY
3387525155 PDB1 READ WRITE
3946119498 PDB2 READ WRITE
SQL>
五、常用SQL
--查看ORACLE 12C版本
select * from v$version;
--查看容器名称和ID
show con_name ;
--查看状态
select name ,open_mode from v$pdbs ;
--切换container
alter session set container=pdb1