一个生产环境下的数据库,在使用几年后或者业务要求需要更换新的存储设备,如果在不改变现有环境的情况下进行数据库迁移,需要如何准备?需要注意那些情况?来保障迁移过程或者迁移后的正常使用。
以oracle为例,两种方法都做过
1. aix环境,适应lvm mirror的方式。挂载新存储--分配lun并映射--aix识别加入vg---mklvcopy做镜像--确认做完后删除就存储。在线完成,不停机。
2. linux环境,添加新存储,文件系统改为asm。通过使用rman的backup as copy命令以及控制文件多路复用,在线更改联机日志、临时表空间等方式可以完成迁移。中间需要停机时间,但非常短。
收起说一个刚刚在linux上完成的案例,
操作系统RHEL6.7 64bit
数据库oracle 11204 64bit
2台服务器 RAC环境,使用udev来绑定设备
旧存储DS3512,新存储V5000
迁移文件主要包含了ocr vote和data 涉及的磁盘组冗余结构全部为ext模式
其中vote通过replace完成迁移
ocr data因为都属于asmfile,可以借助rebalance特性,通过添加新盘和移除旧盘的操作完成, 实施时间大约7小时,停机窗口=0(rebalance的时候IO吃紧导致业务性能下降),
收起