内容介绍
本文分享了一次真实的迁移案例,将某业务系统生产环境Oracle数据库进行迁移,数据库版本为11.2.0.4。数据库迁移之前部署在RedHat6.5操作系统中,以单机单实例文件系统部署;迁移之后部署在Solaries11操作系统中,以ASM双节点RAC集群部署。
本文分享的主要内容是迁移过程中对生产环境的变更和调整思路,以及迁移过程中遇到问题的解决方案,整个迁移过程包括测试环境验证、备份策略验证、生产环境切换等三大步骤,并未涉及数据库的安装部署。希望文章的整体处理思路对读者有帮助。
本文介绍内容为备份策略验证。
备份策略验证目的
备份策略验证的目的如下:
(1)调整生产数据库参数。
(2)增加控制文件、日志文件。
(3)部署RMAN备份策略
(4)模拟故障演练
备份策略验证全流程
1.在线重做日志调整
注: 每组一个,增加组数为8,调整大小为1G
2.控制文件调整
注: 调整控制文件为3个,存在在不同路径下
3.内存参数调整
注:每个节点的内存都为64G,开启AMM(自动内存管理)
4.调整其他参数
调整
job_queue_processes
log_buffer
db_block_checking
processes
session_cached_cursors
open_cursors
undo_retention
等参数,符合生产规范。
5. 开启数据库归档
注:为RMAN备份策略做准备
6.定义RMAN备份策略
(1)设置数据库自动备份控制文件
(2)每周日做RMAN 0级全库备份
(3)每日(除周日)做RMAN 1级增量备份
(4)在主服务器上只保留2周的全库备份、增量备份
(5)将两周前的全库备份、增量备份copy至其他环境中
7. 部署备份脚本和crontab
注:按照客户要求,这里将RMAN备份到ASM磁盘中
先创建RMAN备份目录“+DATADG/CAMS/RMAN”
脚本存放目录:/u01/app/oracle/backup/rman
日志存放目录:/u01/app/oracle/backup/rman/logs
在oracle用户下执行:crontab -e,每天凌晨3点执行备份
0 3 * * 0-6 u01/app/oracle/backup/rman/start_rman.sh >> u01/app/oracle/backup/rman/start_rman.log
8.手工执行RMAN全量备份
注:后续的各类数据损坏测试,大都依赖于0级全量备份,很关键
手工执行RMAN 0级备份脚本,对数据库做全量RMAN备份。
9.控制文件损坏测试
(1)关闭数据库
(2)修改其中一个控制文件名字
(3)启动数据库(提示错误信息)
(4)使用RMAN恢复控制文件
(5)启动数据库
(6)检查控制文件信息
10. spfile文件损坏测试
(1)关闭数据库
(2)修改spfile文件名字
(3)启动数据库(提示错误信息)
(4)使用RMAN恢复spfile文件
(5)重启数据库
(6)检查数据库状态
11. 重做日志损坏测试
(1)关闭数据库
(2)修改redo文件名字
(3)启动数据库(提示错误信息)
(4)使用RMAN完全恢复
(5)在sqlplus中recover数据库
(6)打开数据库
(7)检查数据库状态
12. 数据损坏测试
(1)完全恢复
(2)不完全恢复
13.其它问题处理
Solaries系统时间与互联网时间不一致,因为是测试环境,切换时会清理后重新导入生产数据,所以直接修改系统时间解决。
如果生产环境发现该问题,建议将硬件与系统时间同步关掉,停库一天,等时间超过当前时间,然后开系统,时间同步,然后再起数据库。
至此,备份策略验证完毕。下一步的工作是进行生产环境数据库切换 。