1.项目背景简述
临时接到一个活,客户实现目标是更换数据库服务器,现涉及到数据库的迁移问题,由于时间较短夜间也存在业务使用情况,所以客户要求停机时间要控制在一小时内。
经过现场的调研,因客户每周会进行rman备份,讨论初步方案为使用rman进行恢复,最后停机恢复current redo日志,实际迁移停机时间预估判断在5分钟左右。
2.新服务器部署
有了以上方案,第一步需要在新服务器安装数据库,这里因没有测试过程要操作最简化,最好系统分盘,软件安装与生产数据库路径,补丁等一致,避免进行更改转换。
数据库安装,打补丁操作此处就略过了。
结果展示:
3.非停机工作准备
在新服务器上架后,网卡(双网卡)配置10.10.10 ip与生产业务服务器通信后(此时新服务IP已改为与生产一致,迁移完成后直接进行更换网线操作):
1)拷贝主库控制文件备份与rman 0级,1级备份文件到新服务器
2)新服务器生成pfile文件与生产环境进行比对
因生产服务器内存设置为自动管理,本次新服务器仍采用sga/pga方式
3)新服务器nomount下进行恢复控制文件
4)新服务器切换到mount下进行恢复数据文件
最终介质恢复停止在scn号为:115939986,现应比对是否拷贝完全rman文件以及主库redo log的first_change#(v$log)
经过比较 115939986就是当前redo日志,那意味着rman介质恢复完成了,但为了缩小停机操作时长,在近停机一小时前可操作一次redo的切换和redo的recover。
4.停机工作
1)新服务器最后在sql命令行中进行redo的拷贝恢复
2)数据库进行resetlog启动
由于介质恢复导致日志不连续而不能使用恢复点之后的日志进行重做,所以使用resetlogs进行打开数据库。
之后我们再完整的进行一遍启停就可以了
3)完成所有恢复后我们再检查一下temp表空间是否恢复出来,如没有则需要创建
4)检查完毕后,客户更换网线,将生产网线拔掉重新插到新服务器
至此,经过业务访问测试,迁移成功。
评论
