逻辑思路:
在原CDB,克隆需要异机克隆的pdb a,生成新的克隆pdb b。
对新克隆的pdb b进行拔出,rman备份pdb a备份文件,转移到目标CDB
在目标CDB插入克隆的pdb b
tips:确保原PDB a在原CDB可以继续保留,以防万一迁移出现问题
跨机克隆PDB:
1.源库关闭pdb:
在原CDB root下执行
sql>alter pluggable database zzhq close;
alter pluggable database zzhq open read only;
2、克隆zzhq,生产zzhq_clone pdb:
在原CDB root下执行:
create pluggable database zzhq_clone from zzhq
file_name_convert=(’/home/oracle/app/oradata/zzhq’,’/home/oracle/app/oradata/zzhq_clone’);
SQL> alter pluggable database zzhq close;
Pluggable database altered.
SQL> alter pluggable database zzhq open;
Pluggable database altered.
SQL> alter pluggable database zzhq_clone open;
Pluggable database altered.
2.源库rman备份zzhq_clone,生成xml,备份文件:
SQL> alter pluggable database zzhq_CLONE close;
Pluggable database altered.
rman> backup for transport unplug into ‘/home/oracle/zzhq_clone_metadata.xml’ format ‘/home/oracle/zzhq_clone_BKP’ pluggable database zzhq_clone;
(Tips:此时zzhq_clone在原CDB被拔出!!!!)
SQL> select pdb_name, status from cdb_pdbs;
3.传送备份的元数据以及pdb备份文件到目标库scp
4.检测备份在目标库是否可以插入,true代表可以:
sql>set serveroutput on
declare
c boolean;
begin
c:=dbms_pdb.check_plug_compatibility(’/home/oracle/zzhq_clone_metadata.xml’,‘zzhq_clone’);
if © then dbms_output.put_line(‘True’);
else dbms_output.put_line(‘False’);
end if;
end;
/
5.在目标库通过rman插入:
RMAN> restore using ‘/home/oracle/zzhq_clone_metadata.xml’ foreign pluggable database zzhq_clone format ‘/opt/oracle/oradata/ORCLCDB/zzhq_clone1/%U’ from backupset ‘/home/oracle/zzhq_clone_BKP’;




