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
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';
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';
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,则还原操作将失败。
版权声明:本文为博主原创文章,未经博主允许不得转载。
跨平台 导入PDB