当我们需要进行ORACLE数据库迁移时,如果数据库版本不变,OS不变,通常采用RMAN的方式进行迁移
对于生产系统,总是希望停机的时间越少越好,特别是对于大数据量的数据库。如果想缩短数据库迁移的时间,通常有两种方式
1. 使用dataguard搭建主备高可用方式,迁移时再切换到备库,速度很快
2. 使用RMAN分批增量恢复的方式,这种方式比较适合跨机房迁移,同时网络带宽又没办法满足主备库的日志传输速度,或者不使用dataguard,同时又希望能减少停机时间
本文分享的是使用RMAN进行分批增量恢复。
分批增量恢复介绍:这种方式主要是利用主库的RMAN全库备份在新服务器上进行恢复,然后不执行OPEN database命令,同时每天把增量日志拷贝到新服务器上进行恢复,在可迁移当天,停止应用后,再次进行剩余归档日志的备份,然后恢复到新服务器上,最后启动数据库
停机时长:停应用后,备份当天剩余归档日志的时间 + 恢复这几个日志文件的拷贝备份日志到服务器时间,如果日志量不大,通常所有操作一个小时内能完成,并且打开数据库
详细步骤
1. 在新服务器上安装相同版本的OS, ORACLE数据库
2. 在生产服务器上执行level 0的数据库全库备份
RMAN> backup as compressed backupset incremental level 0 deatabase format '/backup/level0_%d_%s_%p.bkp';
RMAN> backup as compressed backupset archivel