ORACLE Multitenant专题--2 远程克隆PDB

需求与环境

被克隆的环境 55.34.4.153 RAC 架构,PDB:HKUATBK

克隆目的地:55.14.64.79 单节点

操作步骤

1. 目的库创建到克隆源的tns串

LINK2CD =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 55.34.4.153)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = ORA19RAC)

    )

  )

注意:服务名是CDB层面的服务名

2. 目的库创建dblink链接

create public database link LINK2CD connect to SYSTEM identified by  SYSTEM using 'LINK2CD';

/* 验证DBLINK*/

select name from v$containers@LINK2CD;  

3. 目的库用户SYSTEM赋予权限

grant create session, create pluggable database to SYSTEM container=all;

注意:

   授权时,保证被克隆的PDB处于read write状态,这样,上述语句修改所有PDB(因为是公共用户)

4. 克隆

create pluggable database HKUATBK from HKUATBK@LINK2CD file_name_convert=('+DATADG','+DATADG');

ORACLE Multitenant专题--2  远程克隆PDB

命令解析:

      HKUATBK:目的端需要创建的PDB(可以与源PDB不同名);

     HKUATBK@LINK2CD :克隆源端的PDB和指向源端的DB LINK;

   file_name_convert:克隆时进行文件名转换;

报错解决

  上述报错分析与解决方案:

      分析:RAC 下使用OMF,PDB的DATAFILE和TEMPFILE存放在不同的目录,所以TEMPFILE的目录需要单独创建,file_name_convert只转换类DATAFILE

      解决方案:目的库相应目录创建对应的TEMPFILE目录;

其他说明:

   官方的操作步骤可能还涉及:

  1. 数据库兼容性检查;

  2. 操作系统大小端检查;

 等,由于笔者是两个相同的OS,相同的数据库版本间克隆,所以应该不会有上述问题,直接忽略了。

上一篇:生物信息学:根据PDB名称、爬虫PDB数据库的信息、保存到Excel里


下一篇:记一次误删linux系统目录导致yum不可用的问题