1.修改源库为只读

  1. shutdown immediate;
  2. startup mount;
  3. alter database open read only;

2.构建pdb元数据 xml文件

  1. begin
  2. dbms_pdb.describe(
  3. pdb_descr_file =>'/opt/oracle/mydump/ncdb.xml'
  4. );
  5. end;
  6. /

3.cp 整库到目标端

在远端创建相同的数据库路径/opt/oracle/oradata/ORCL
cp 整库到路径下

4.创建pdb

注意:如果报ORA-01276
01276. 00000 - “Cannot add file %s. File has an Oracle Managed Files file name.”
就需要把数据文件重命名为普通文件格式,并且修改xml当中的数据文件名。

  1. create PLUGGABLE DATABASE nocdb
  2. using '/u01/oracle/mydump/ncdb.xml'
  3. FILE_NAME_CONVERT=('/opt/oracle/oradata/ORCL','/u01/oracle/oradata/ORCL/nocdb');

5.进入新的pdb执行脚本处理无用元数据

  1. alter session set container=nocdb;
  2. @?/rdbms/admin/noncdb_topdb.sql

6.打开新的pdb

  1. alter pluggable database nocdb read write;