Oracle PDB的相关使用说明
PDB pluggable database
是Oracle12c以上的版本(Oracle18c.oracle19c) 新增加的一个特性.
他可以实现灵活插拔的方式进行PDB的创建于使用.
安装与创建部分
dbca或者是安装数据库时有一个选择, 可以使用nonPDB或者是PDB的模式
需要说明一下.
nonPDB就是原始的Oracle11g以及以前的模式, 就一个服务名可以直接使用.
PDB模式会有一个Oracle_SID与之前版本一样. 然后有一些PDB进行相关的处理
需要注意 PDB模式下必须选择PDB进行业务建库.
CDB的模式建库,会要求必须有c##开头的账户名称, 是无法使用的.
设置开机启动
- Oracle一开始设定PDB并不会随着CDB的启动而启动.
- 建议增加一个 trigger 开机自动进行处理.
CREATE TRIGGER open_all_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/
查看与切换
sqlplus / as sysdba
show pdbs;
# 可以查看所有的PDB
alter session set container=somePDB;
# 可以进行PDB的切换动作.
alter pluggable database somePDB open ;
# 可以单独打开某个PDB
删除与创建
第一步删除PDB
alter pluggable database somePDB close immediate ;
drop pluggable database somePDB including datafile;
# 注意需要先关闭,再进行删除,并且可以包含数据文件.
第二步创建PDB, PDB可以从空创建也可以文件转换或者是Clone来源
最简单的创建一个空的PDB
alter system set DB_CREATE_FILE_DEST='/opt/oracle/oradata/ORA19C/Test' ;
create pluggable database test admin user test identified by Test1127 ;
# 注意创建完成后 需要单独open一下才可以连接.
# 需要注意 这种克隆方式的目录比较混乱. 可以使用file_name_convert的方式进行创建就会好很多了.
create pluggable database test admin user test identified by Test1127 file_name_convert=('source','target')
# 注意我这里就可以写为:
('/opt/oracle/oradata/ORA19C/pdbseed','/opt/oracle/oradata/ORA19C/Test')
克隆PDB-本地PDBClone
# 第一种方式先指定目录
alter system set DB_CREATE_FILE_DEST='/opt/oracle/oradata/ORA19C/Test' ;
create pluggable database test FROM ora19cpdb ;
# 第二种方式直接进行文件目录映射
CREATE PLUGGABLE DATABASE pdb2 FROM pdb1
FILE_NAME_CONVERT = ('/disk1/oracle/pdb1/', '/disk2/oracle/pdb2/')
# 注意与创建一样 指定DEST 文件目录会比较深. 但是convert目录比较简洁.
克隆PDB-非本地PDB
# 第一步创建必须的用户
alter session set container=test;
create user zhaobsh identified by Password;
grant dba,resource,connect,create pluggable database to zhaobsh ;
# 第二步创建DBLINK, 理论上需要创建高权限的用户作为dblink, 可以直接到PDB.
create public database link linkToSourcepdb
connect to zhaobsh identified by Password
using '//10.110.136.86:1521/test'
# 第三步进行远程创建
alter system set DB_CREATE_FILE_DEST='/opt/oracle/oradata/ORA19C/test' ;
create pluggable database test FROM test@linkToSourcepdb ;
# 第四步 打开就可以使用.
插拔pluggable database
# 进入 sqlplus / as sysdba
关闭数据库
alter pluggable database test close immediate ;
unplug pdb 数据库.
alter pluggable database test unplug into '/opt/oracle/oradata/ORA19C/Test/test.xml'
# 迁移数据库文件到别的数据库中:
CREATE PLUGGABLE DATABASE zhaobsh AS CLONE USING '/opt/oracle/oradata/ORA19C/Test/test.xml'
NOCOPY TEMPFILE REUSE;
# 注意 我认为目录和文件权限尽量保持一致.