版权声明:本文为博主原创文章,未经博主允许不得转载。

Oracle 12C R2-新特性-夸平台将PDB导入到另一个CDB

 

 使用非一致性备份执行夸平台传输PDB

可以使用不一致和一致备份的组合来传输PDB并将其插入到位于不同平台上的CDB。 不一致的备份使您能够减少应用程序停机时间,因为在执行备份时可以打开PDB。类似于XTTS技术,减少停机时间。

PDB打开时,创建跨平台不一致的备份。 第一个备份是增量级0备份。 后续备份是包含自上次增量备份以来对PDB所做更改的增量级别1备份。 对不一致的1级备份的数量没有限制。 最后,关闭PDB,创建最后一致的增量级别1备份和包含将源PDB插入目标CDB所需的元数据的XML文件。

数据库版本必须是12.2,而且源CDB和目标CDB必须是相同的字节格式。

 

 CDB上的操作

1. 使用具有SYSDBA 或者 SYSBACKUP权限的用户登录root

2. 确保相应的PDB是读写状态

3. 记录下创建0级备份数据库之前的SCN

 

SQL> SELECT CHECKPOINT_CHANGE# FROM V$DATABASE; 

CHECKPOINT_CHANGE#

------------------

   2305601

 

 

4. 创建0级备份

 

RMAN> BACKUP INCREMENTAL LEVEL 0

   FOR TRANSPORT  --或者用TO PLATFORM 'Linux x86 64-bit',表示这是一个跨平台的备份

   ALLOW INCONSISTENT

   PLUGGABLE DATABASE hr_pdb FORMAT '/u01/backups/hr_pdb_level0.bck';

 

 

 

5. 关闭PDB

 

 

RMAN> ALTER PLUGGABLE DATABASE hr_pdb CLOSE IMMEDIATE;

 

 

6.创建一致的跨平台增量备份。 增量备份的时间点必须来自步骤3中查询的SCN

包括UNPLUG INTO子句以指定存储将此PDB插入目标CDB所需的元数据的XML的名称。

 

RMAN> BACKUP INCREMENTAL FROM SCN 36462

   FOR TRANSPORT

   UNPLUG INTO '/u01/backups/metadata_hr_pdb.xml'

   PLUGGABLE DATABASE hr_pdb FORMAT '/u01/backups/hr_pdb_level1_con.bck';

 

 

 

 传输所有备份文件到目标库

通常情况下,在做0级备份时候就该传输它们,以减少恢复时间。这样能大幅减少停机时间。

 

 目标库上的操作

1.使用具有SYSDBA 或者 SYSBACKUP权限的用户登录root

2.确保CDB是读写状态

3.先恢复0级备份

 

RMAN> RESTORE

   FOREIGN PLUGGABLE DATABASE hr_pdb FORMAT '/u02/oradata/%U'

   FROM BACKUPSET '/u02/backup_restore/hr_pdb_level0.bck';

 

 

4. 将关闭源PDB时创建的跨平台级别1增量备份应用于在步骤4.3中还原的数据文件。 使用包含源PDB元数 据的XML文件将PDB插入目标CDB

 

RMAN> RECOVER

USING '/u02/backup_restore/metadata_hr_pdb.xml'

FOREIGN DATAFILECOPY '/u2/oradata/09qurbdp_1_1','/u2/oradata/03bcdqrv_2_5'

FROM BACKUPSET '/u02/backup_restore/hr_pdb_level1_con.bck';

 

 

5. 查看这个PDB名称

 

PDB使用不同的名称插入到目标。 通常,名称是CDB的唯一名称,后面是随机生成的数字。

 

SQL> SELECT name FROM V$PDBS;

NAME

----------

mycdb_72346

 

 

6. 打开PDB

 

RMAN> ALTER PLUGGABLE DATABASE mycdb_72346 OPEN;

 

 

注意:如果目标数据库上存在与正在传输的PDB名称相同的PDB,则还原操作将失败

 

本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。