0
点赞
收藏
分享

微信扫一扫

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


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

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

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

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

2 源CDB上的操作

  1. 使用具有SYSDBA 或者 SYSBACKUP权限的用户登录root
  2. 确保相应的PDB是读写状态
  3. 记录下创建0级备份数据库之前的SCN。

SQL> SELECT CHECKPOINT_CHANGE# FROM V$DATABASE; 

CHECKPOINT_CHANGE#

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

2305601

  1. 创建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';

  1. 关闭PDB

RMAN> ALTER PLUGGABLE DATABASE hr_pdb CLOSE IMMEDIATE;

  1. 创建一致的跨平台增量备份。 增量备份的时间点必须来自步骤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';

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

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

4 目标库上的操作

  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';

  1. 将关闭源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';

  1. 查看这个PDB名称

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

SQL> SELECT name FROM V$PDBS;

NAME
----------
mycdb_72346

  1. 打开PDB

RMAN> ALTER PLUGGABLE DATABASE mycdb_72346 OPEN;

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


举报

相关推荐

0 条评论