Oracle使用RMAN从Windows迁移数据到Linux
由于Windows与Linux同属于little endian平台,所以Windows平台RMAN数据库备份可以在Linux直接使用,但是Windows平台下的归档日志无法在Linux平台直接用于recover database,但是我们可以使用增量备份解决增量问题,然后最后在源库停机下做最后备份,减少源库停机时间。
1. 基础数据备份恢复
1.1 源端Windows 做0级备份
# 下面仅给出示例,实际命令与并行度需要根据实际服务器负载以及磁盘能力配置。
RMAN> backup as compressed backupset incremental level 0 database format 'd:\rmanbak\full_level0_%d_%T_%s_%p' tag 'full_level_0';
RMAN> backup current controlfile format 'd:\rmanbak\ctl_level0_%d_%T_%s_%p' tag 'ctl_bak_1';
1.2 Linux端恢复0级备份
# 恢复spfile与修改pfile中参数、上传备份集到Linux服务器等基础步骤略过,下面仅演示恢复过程
RMAN> startup nomount;
RMAN> restore controlfile from '/rman/windowsLinux/CTL.BAK';
RMAN> alter database mount;
# 清理控制文件记录的原来备份信息记录
RMAN> crosscheck backup;
RMAN> delete noprompt expired backup;
# 重新将备份片注册到控制文件记