本文共 1344 字,大约阅读时间需要 4 分钟。
以下两种clone都是从12.2 to 12.2
1 克隆pdb到当前cdb里:
cdb下执行:
alter session set pdb_file_name_convert='aaa','bbb';
create pluggable database bbb from aaa;alter pluggable database bbb open instances=all;给pdb bbb srvctl add service ,同时启动service
2 远程克隆pdb
这里就要说一个热克隆对应的参数: UNDO模式
undo 在12C R1版本中只支持Global Shared Undo模式, 所有container共享一个UNDO表空间, 目前保留这种模式只是为了升级过渡, 在12C R2引入了PDB Local UNDO模式,每个container都有自己的UNDO 表空间, 对于RAC是每个实例每个container都有自己的UNDO表空间, 这也正是推荐的. 无论是Shared undo还是Local undo模式,都是CDB的属性,所以在修改时当前的container都要在cdb$root下. 12.2只要配置了LOCAL undo才支持下面的新特性:Hot Clone, Refresh PDB, PDB Relocate, Flashback PDB
select * from database_properties where property_name='LOCAL_UNDO_ENABLED';
修改此参数:
startup upgrade
alter session set container=cdb$root;ALTER DATABASE LOCAL UNDO ON(off);shutdown immediate;startup-- When a CDB is changed from shared undo mode to local undo mode, -- Oracle Database creates the required undo tablespaces automatically.alter pluggable database xxx open instances=all;create user aaa identified by <password> container=all;
grant sysoper to aaa container=all;create public database link lych_clone connect to aaaidentified by aa using '<tns>';---这个TNS经测试不管是连接cdb的TNS还是连接PDB的TNS都可以实现克隆CREATE PLUGGABLE DATABASE bbb FROM aaa@lych_clone; 针对克隆后台的PDB进行open,同时要给克隆后的pdb新建service。
转载于:https://blog.51cto.com/2012ivan/2114384