RMAN实现异机 分批增量 数据迁移

该文详细介绍了如何使用RMAN在Windows7环境下进行Oracle数据库的全备和增量级别的数据迁移。过程包括配置RMAN参数、执行全备和L1增量备份,以及在目标数据库上恢复和一致性检查。文章强调了在业务运行中进行数据迁移的步骤和注意事项。
摘要由CSDN通过智能技术生成

1 环境信息

1) 操作系统
Windows 7 64 bit
2) 数据库
Oracle Database 11g Release 2

 2 环境准备


环境准备包括操作系统的安装配置,数据库软件的安装配置,请参阅本人相关知识文
档,本文不再赘述。

3 RMAN异机数据迁移

3.1 L0全备迁移

 1) 【 DB1 】 配置 RMAN 参数

RMAN> show all;
使用目标数据库控制文件替代恢复目录
db_unique_name 为 ORCL 的数据库的 RMAN 配置参数为
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION A LGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ ORACLEBASE\ORACLEHOME\DATABASE\SNCFORCL.ORA'; # default

2) 【 DB1 】测试表数据

SELECT * FROM SCOTT.EMP;

 3) 【 DB1 】 RMAN L0 全 备

RMAN> backup as compressed backupset i ncremental level 0 database

启动 backup 于 18 1 月 16
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动压缩的归档日志备份集
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程 =1 序列 =6 RECID=1 STAMP=901208948
输入归档日志线程 =1 序列 =7 RECID=2 STAMP=901407951
输入归档日志线程 =1 序列 =8 RECID=3 STAMP=901408132
输入归档日志线程 =1 序列 =9 RECID=4 STAMP=901446669
输入归档日志线程 =1 序列 =10 RECID=5 STAMP=901453974
输入归档日志线程 =1 序列 =11 RECID=6 STAMP=901467795
输入归档日志线程 =1 序列 =12 RECID=7 STAMP=901467841
输入归档日志线程 =1 序列 =13 RECID=8 STAMP=901468410
输入归档日志线程 =1 序列 =14 RECID=9 STAMP=901469437
输入归档日志线程 =1 序列 =15 RECID=10 STAMP=901469483
输入归档日志线程 =1 序列 =16 RECID=11 STAMP=901469958

输入归档日志线程 =1 序列 =17 RECID=12 STAMP=901469960
输入归档日志线 程 =1 序列 =18 RECID=13 STAMP=901469964
输入归档日志线程 =1 序列 =19 RECID=14 STAMP=901480462
通道 ORA_DISK_1: 正在启动段 1 于 18 1 月 16
通道 ORA_DISK_1: 已完成段 1 于 18 1 月 16
段句柄
= ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016_01_18 O1_MF_ANNNN_TAG2016
0118T191422_C9SL8H2H _.BKP 标记 =TAG20160118T191422 注释 =NONE
通道 ORA_DISK_1: 备份集已完成 , 经过时间 :00:00:07
完成 backup 于 18 1 月 16

启动 backup 于 18 1 月 16
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动压缩的增量级别 0 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件 : 文件号 =00001 名称
= ORACLE ORACLEBASE ORADATA ORCL DATAFILE O1_MF_SYSTEM_C9K6JR79_.DBF
输入数据文件 : 文件号 =00002 名称
= ORACLE ORACLEBASE ORADATA ORCL DATAFILE O1_MF_SYSAUX_C9K6JTC3_.DBF

输入数据文件 : 文件号 =00005 名称
= ORACLE ORACLEBASE ORADATA ORCL DATAFILE O1_MF_EXAMPLE_C9K73W8F_.DBF
输入数据文件 : 文件号 =00003 名称
= ORACLE ORACLEBASE ORADATA ORCL DATAFILE O1_MF_UNDOTBS1_C9K6JTV6_.DBF
输入数据文件 : 文件号 =00004 名称
= ORACLE ORACLEBASE ORADATA ORCL DATAFILE O1_MF_USERS_C9K6JVKD_.DBF
通道 ORA_DISK_1: 正在启动段 1 于 18 1 月 16
通道 ORA_DISK_1: 已完成段 1 于 18 1 月 16
段句柄
D: ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016_01_18 O1_MF_NNND0_TAG2016
0118T191430_C9SL8PP4_.BKP 标记 =TAG20160118T191430 注释 =NONE
通道 ORA_DISK_1: 备份集已完成 , 经过时间 :00:00:35
通道 ORA_DISK_1: 正在启动压缩的增量级别 0 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文 件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 18 1 月 16
通道 ORA_DISK_1: 已完成段 1 于 18 1 月 16
段句柄
= ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016_01_18 O1_MF_NCSN0_TAG2016

0118T191430_C9SL9TYL_.BKP 标记 =TAG20160118T191430 注释 =NONE
通道 ORA_DISK_1: 备份集已完成 经过时间 :00:00:02
完成 backup 于 18 1 月 16

启动 backup 于 18 1 月 16
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动压缩的归档日志备份集
通道 ORA_DISK_1: 正在指定备份集内的归档日志

输入归档日志线程 =1 序列 =20 RECID=15 STAMP=901480508
通道 ORA_DISK_1: 正在启动段 1 于 18 1 月 16
通道 ORA_DISK_1: 已完成段 1 于 18 1 月 16
段句柄
= ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016_01_18 O1_MF_ANNNN_TAG2016
0118T191508_C9SL9WOP_.BKP 标记 =TAG20160118T191508 注释 =NONE
通道 ORA_DISK_1: 备份集已完成 , 经过时间 :00:00:01
完成 backup 于 18 1 月 16

4) 查看 L0 全备信息

 5) 备份当前控制文件

RMAN> backup current controlfile;

启动 backup 于 18 1 月 16
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
通道 ORA_DISK_1: 正在启动段 1 于 18 1 月 16
通道 ORA_DISK_1: 已完成段 1 于 18 1 月 16
段句柄
= ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016 _01_18 O1_MF_NCNNF_TAG2016
0118T191758_C9SLH7K1_.BKP 标记 =TAG20160118T191758 注释 =NONE
通道 ORA_DISK_1: 备份集已完成 , 经过时间 :00:00:01
完成 backup 于 18 1 月 16
RMAN>

 6) 查看两次备份的信息

 

 

7) 【 DB2 】 查看源数据库的路径,构建相同路径 ,把备份拷贝进去

Users cr>mkdir D: ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016_01_18 

8) 【 DB2 】关闭数据库实例

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

9) 【 DB2 】把数据库启动到 NOMOUNT

SQL> startup nomount;
ORACLE 例程已经启动。
Total System Global Area 4175568896 bytes
Fixed Size 2182344 bytes
Variable Size 2231370552 bytes
Database Buffers 1929379840 bytes
Redo Buffers 12636160 bytes

10) 【 DB2 】恢复控制文件

RMAN> restore controlfile from "D: oracle oraclebase flash_recovery_area ORCL BA
CKUPSET 2016_01_18 O1_MF_NCNNF_TAG20160118T191758_C9SLH7K1_.BKP";

启动 restore 于 18 1 月 16
使用目标数据库控制文件替 代恢复目录
分配的通道 : ORA_DISK_1
通道 ORA_DISK_1: SID=189 设备类型 =DISK
通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成 , 用时 : 00:00:01
输出文件名 = ORACLE ORACLEBASE ORADATA ORCL CONTROLFILE O1_MF_C9K77RLR_.CTL
输出文件名 = ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL CONTROLFILE O1_MF_C9K77
WLL_.CTL

完成 restore 于 18 1 月 16

 

11) 【 DB2 】 Mount 数据库

RMAN> alter database mount;
数据库已装载
释放的通道 : ORA_DISK_1

12) Restore 数据库

RMAN> restore database;

启动 restore 于 18 1 月 16
启动 implicit crosscheck backup 于 18 1 月 16
分配的通道 : ORA_DISK_1
通道 ORA_DISK_1: SID=189 设备类型 =DISK
已交叉检验的 4 对象
完成 implicit crosscheck backup 于 18 1 月 16

启动 implicit crosscheck copy 于 18 1 月 16
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 18 1 月 16

搜索恢复区中的所有文件
正在编制文件目录
目录编制完毕

已列入目录的文件的列表
文件名 : ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL ARCHIVELOG 2016_01_15 O1_MF_1_6_C9K8DL2X_.ARC
文件名 : ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL ARCHIVELOG 2016_01_18 O1_M
F_1_7_C9SCKYPC_.ARC
文件名 : ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016_01_18 O1_MF
_NCNNF_TAG20160118T191758_C9SLH7K1_.BKP

使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 D: ORACLE ORACLEBASE ORADATA ORCL DATAF
ILE O1_MF_SYSTEM_C9K6JR79_.DBF
通道 ORA_DISK_1: 将数据文件 00002 还原到 D: ORACLE ORACLEBASE ORADATA ORCL DATAF
ILE O1_MF_SYSAUX_C9K6JTC3_.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 D: ORACLE ORACLEBASE ORADATA ORCL DATAF
ILE O1_MF_UNDOTBS1_C9K6JTV6_.DBF
通道 ORA_DISK_1: 将数据文 件 00004 还原到 D: ORACLE ORACLEBASE ORADATA ORCL DATAF
ILE O1_MF_USERS_C9K6JVKD_.DBF
通道 ORA_DISK_1: 将数据文件 00005 还原到 D: ORACLE ORACLEBASE ORADATA ORCL DATAF
ILE O1_MF_EXAMPLE_C9K73W8F_.DBF
通道 ORA_DISK_1: 正在读取备份片段 D: ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL
BACKUPSET 2016_01_18 O1_MF_NNND0_TAG20160118T191430_C9SL8PP4_.BKP
通道 ORA_DISK_1: 段句柄 = ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSE
T 2016_01_18 O1_MF_NNND0_TAG20160118T191430_C9SL8PP4_.BKP 标记 = TAG20160118T191
430
通道 ORA_DISK_1: 已还原备份片段 1

通道 ORA _DISK_1: 还原完成 , 用时 : 00:00:55
完成 restore 于 18 1 月 16

3.2 模拟源数据库业务运行
此时,源数据库仍正常运行,对外提供服务。

1) 【 DB1 】模拟 业务 运行

SELECT * FROM scott.emp;

 update scott.emp set sal=sal+1000;
commit;
update scott.emp set sal=sal+1000;
commit;
update scott.emp set sal=sal+1000;
commit;
update scott.emp set sal=sal+1000;
commit;
update scott.emp set sal=sal+1000;
commit;

 3.3 L1增量迁移


1) 【 DB1 】关闭监听

LSNRCTL STOP

2) 【 DB1 】 切换当前日志

SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 19
下一个存档日志序列 21
当前日志序列 21
SQL>

SQL> alter system switch logfile;
系统已更改。
SQL> alter system switch logfile;
系统已更改。
SQL> alter system switch logfile;
系统已更改。

SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 22
下一个存档日志序列 24
当前日志序列 24

3) 【 DB1 】 关闭数据库实例 ,把实例启动到 Mount

RMAN> shutdown immediate;
使用目标数据库控制文件替代恢复目录
数据库已关闭
数据库已卸装
Oracle 实例已关闭

RMAN> startup mount;
已连接到目标数据库 未启动
Oracle 实例已启动

数据库已装载
系统全局区域总计   4175568896 字节
Fixed Size                 2182344 字节
Variable Size             2264924984 字节
Database Buffers       1895825408 字节
Redo Buffers              12636160 字节

4) 【 DB1 】 L1 增量备份数据库

RMAN> backup as compressed backupset incremental level 1 database
启动 backup 于 18 1 月 16
分配的通道 : ORA_DISK_1
通道 ORA_DISK_1: SID=156 设备类型 =DISK
通道 ORA_DISK_1: 正在启动压缩的归档日志备份集
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程 =1 序列 =6 RECID=1 STAMP=901208948
输入归档日志线程 =1 序列 =7 RECID=2 STAMP=901407951
输入归档日志线程 =1 序列 =8 RECID=3 STAMP=9 01408132
输入归档日志线程 =1 序列 =9 RECID=4 STAMP=901446669
输入归档日志线程 =1 序列 =10 RECID=5 STAMP=901453974
输入归档日志线程 =1 序列 =11 RECID=6 STAMP=901467795
输入归档日志线程 =1 序列 =12 RECID=7 STAMP=901467841
输入归档日志线程 =1 序列 =13 RECID=8 STAMP=901468410
输入归档日志线程 =1 序列 =14 RECID=9 STAMP=901469437
输入归档日志线程 =1 序列 =15 RECID=10 STAMP=901469483
输入归档日志线程 =1 序列 =16 RECID=11 STAMP=901469958
输入归档日志线程 =1 序列 =17 RECID=12 STAMP=901469960
输入归档日志线程 =1 序列 =18 RECID=13 STAMP=901469964
输入归档日志线程 =1 序列 =19 RECID=14 STAMP=901480462
输入归档日志线程 =1 序列 =20 RECID=15 STAMP=901480508
输入归档 日志线程 =1 序列 =21 RECID=16 STAMP=901482539
输入归档日志线程 =1 序列 =22 RECID=17 STAMP=901482547
输入归档日志线程 =1 序列 =23 RECID=18 STAMP=901482551
通道 ORA_DISK_1: 正在启动段 1 于 18 1 月 16
通道 ORA_DISK_1: 已完成段 1 于 18 1 月 16
段句柄
= ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016_ 01_18 O1_MF_ANNNN_TAG2016
0118T200245_C9SO35PB_.BKP 标记 =TAG20160118T200245 注释 =NONE
通道 ORA_DISK_1: 备份集已完成 , 经过时间 :00:00:07
完成 backup 于 18 1 月 16


启动 backup 于 18 1 月 16
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动压缩的增量级别 1 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件

输入数据文件 : 文件号 =00001 名称
= ORACLE ORACLEBASE ORADATA ORCL DATAFILE O1_MF_SYSTEM_C9K6JR79_.DBF
输入数据文件 : 文件号 =00002 名称
= ORACLE ORACLEBASE ORADATA ORCL DATAFILE O1_MF_SYSAUX_C9K6JTC3_.DBF
输入数据文件 : 文件号 =00005 名称
= ORACLE ORACLEBASE ORADATA ORCL DATAFILE O1_MF_EXAMPLE_C9K73W8F_.DBF
输入数据文件 : 文件号 =00003 名称
= ORACLE ORACLEBASE ORADATA ORCL DATAFILE O1_MF_UNDOTBS1_C9K6JTV6_.DBF
输入数据文件 : 文件号 =00004 名称
= ORACLE ORACLEBASE ORADATA ORCL DATAFILE O1_MF_USERS_C9K6JVKD_.DBF
通道 ORA_DISK_1: 正在启动段 1 于 18 1 月 16
通道 ORA_DISK_1: 已完成段 1 于 18 1 月 16
段句柄
= ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016_01_18 O1_MF_NNND1_TAG2016
0118T200252_C9SO3FJ2_.BKP 标记 =TAG20160118T200252 注释 =NONE
通道 ORA_DISK_1: 备份集已完成 , 经过时间 :00:00:15
通道 ORA_DISK_1: 正在启动压缩的增量级别 1 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 18 1 月 16
通道 ORA_DISK_1: 已完成段 1 于 18 1 月 16
段句柄
= ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016_01_18 O1_MF_NCSN1_TAG2016
0118 T200252_C9SO3XS0_.BKP 标记 =TAG20160118T200252 注释 =NONE
通道 ORA_DISK_1: 备份集已完成 , 经过时间 :00:00:01
完成 backup 于 18 1 月 16

启动 backup 于 18 1 月 16
使用通道 ORA_DISK_1
说明与资料档案库中的任何归档日志都不匹配
由于没有要备份的文件而取消了备份
完成 backup 于 18 1 月 16

5) 【 DB1 】 查看备份信息

 

 

 

 6) 【 DB1 】 备份当前控制文件

RMAN> backup current controlfile;
启动 backup 于 18 1 月 16
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
通道 ORA_DISK_1: 正在启动段 1 于 18 1 月 16
通道 ORA_DISK_1: 已完成段 1 于 18 1 月 16
段句柄
= ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL BACKUPSET 2016_01_18 O1_MF_NCNNF_TAG2016
0118T200615_C9SO9S6V_.BKP 标记 =TAG20160118T200615 注释 =NONE
通道 ORA_DISK_1: 备份集已完成 , 经过时间 :00:00:01
完成 backup 于 18 1 月 16
RMAN>

7) 【 DB1 】查看备份信息

 

 

 

 8) 【 DB2 】 关闭目标数据库实例

RMAN> shutdown immediate;
数据库已卸装
Oracle 实例已关闭

9) 【 DB2 】 启动实例到 Nomount

RMAN> startup nomount;
已连接到目标数据库 未启动
Oracle 实例已启动
系统全局区域总计          4175568896 字节
Fixed Size                      2182344 字节
Variable  Size                 2231370552 字节
Database Buffers            1929379840 字节
Redo Buffers                   12636160 字节

10) 【 DB2 】 Restore 控制文件

RMAN> restore controlfile from " oracle oraclebase flash_recovery_area ORCL BA
CKUPSET 2016_01_18 O1_MF_NCNNF_TAG20160118T200615_C9SO9S6V_.BKP";

启动 restore 于 18 1 月 16
分配的通道 : ORA_DISK_1
通道 ORA_DISK_1: SID=156 设备类型 =DISK
通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成 , 用时 : 00:00:01
输出文件名 = ORACLE ORACLEBASE ORADATA ORCL CONTROLFILE O1_MF_C9K77RLR_.CTL
输出文件名 = ORACLE ORACLEBASE FLASH_RECOVERY_AREA ORCL CONTROLFILE O1_MF_C9K77
WLL_.CTL
完成 restore 于 18 1 月 16

11) 【 DB2 】 Mount 数据库实例

RMAN> alter database mount;
数据库已装载
释放的通道 : ORA_DISK_1

12) 【 DB2 】 查看备份信息

 

 

 

 

13) 【 DB2 】 Restore 数据库

 

 

14) 【 DB2 】 R ecover 数据库

 

15) 【 DB2 】 Re setlogs 打开数据库

RMAN> alter database open resetlogs;
数据库已打开

16) 【 DB2 】 检查迁移后的数据库数据一致性

select * from scott.emp;

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红尘︶炼心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值