备注:物理层面,CDB存储结构跟普通的non-CDB是一样的,CDB中有一个公共用户sys,可以管理root和所有PDBcommon user存在root根容器,同时每个pdb容器也有。
0.创建pdb数据库
create pluggable database pdb1 admin user xiaqiao identified by xiaqiao file_name_convert=('pdbseed','pdb1');
alter pluggable database pdb1 open;
1.查看cdb
show pdbs
select * from v$pdbs;
2.启动pdb
alter pluggable database pdb open;
3.查看当前容器状态
col name format a10
select name,open_mode from v$pdbs;
4.关闭和删除pdb
alter pluggable database pdb close;
当已经在pdb里面了,可通过shutdown和startup命令关闭和启动容器
drop pluggable database pdb including datafiles; #删除pdb
5.启动或关闭all pdb
alter pluggable database all open|close;
alter pluggable database all except pdb1 open; #排除某个pdb
6.只读方式|受限模式打开pdb
alter pluggable database pdb open read only force;
alter pluggable database pdb open restricted force;
7.切换容器
show con_name 查看当前所在容器
alter session set container=pdb;
alter session set container=cdb$root;
8.拔出和插入pdb
alter pluggable database pdb close immediate;
alter pluggable database pdb unplug info '/home/oracle/pdb.xml';#信息存到xml文件
create pluggable database pdb using '/home/oracle/pdb.xml' no copy; nocopy不用重命名数据文件
9.默认情况下,shutdown,startup重启之后,pdb自起到mount状态,而不是open状态。如果想要自起pdb
1)保存状态 alter pluggable database pdb open; alter pluggable database pdb save state[discart state];
2)设置触发器
create trigger open_all_pdbs
after startup on database
begin
execute immediate 'alter pluggable database all open';
end open_all_pdbs;
/
复制
10.修改监听文件tnsname.ora
pdb1=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.44.100.192)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb1)
)
)
sqlplus xiaqiao/xiaqiao@pdb1 连接到指定pdb
复制