公司的数据库规模达到一定数量后,db迁移、主从切换便是dba经常性工作之一。但是 db迁移影响较大,牵涉team较多,特别是当公司的技术架构不太完善时,一份详细的迁移list很有必要。下面的list是我们dba进行db迁移的主要工作汇总,这份list是镜像(mirror)架构下的工作总结。
序号 |
变更操作 |
操作内容 |
操作影响 |
操作人员 |
double检查 |
预计时间 |
时间操作时间 |
状态 |
一.迁移前准备阶段 | ||||||||
1 | 梳理db及大小 | 业务无影响 | dba–xxx | dba–xxx | — | —– | done | |
2 | 梳理复制订阅关系 | 业务无影响 | dba–xxx | dba–xxx | done | |||
3 | 梳理到待迁移db的linked server | 业务无影响 | dba–xxx | dba–xxx | done | |||
4 | 梳理本实例上的linked server | 业务无影响 | dba–xxx | dba–xxx | done | |||
5 | 新sql server 实例的部署 | 业务无影响 | dba–xxx | dba–xxx | on-going | |||
6 | 数据库镜像搭建(或alwayson) | 业务无影响 | dba–xxx | dba–xxx | ||||
7 | 导出创建账号、权限的脚本 | 业务无影响 | dba–xxx | dba–xxx | ||||
8 | 导出创建job的脚本 | 业务无影响 | dba–xxx | dba–xxx | ||||
二.迁移阶段 | ||||||||
1 | 关闭备份和归档的job | 业务无影响 | dba–xxx | dba–xxx | ||||
2 |
修改镜像的运行模式(高性能–>高安全), 无数据丢失,且主从切换,无需重新搭建。 |
业务无影响 | dba–xxx | dba–xxx | ||||
3 | 关闭程序账号 | 新的访问不能连接 | dba–xxx | dba–xxx | ||||
4 | 删除复制订阅 | 订阅库数据不再更新 | dba–xxx | dba–xxx | ||||
5 | 关闭仍未提交的连接 | 数据库不能访问 | dba–xxx | dba–xxx | ||||
6 | 执行failover命令 | 主从切换 | dba–xxx | dba–xxx | ||||
7 | 执行创建账号的sql(前面导出的语句) | 访问账号建立 | dba–xxx | dba–xxx | ||||
8 | 修改数据库域名执行 | 应用程序的访问指向新的db | dba–xxx | dba–xxx | ||||
9 | 检查、修改linked server指向 | linked server访问 | dba–xxx | dba–xxx | ||||
10 | 原db server的job 关闭 | 业务无影响 | dba–xxx | dba–xxx | ||||
11 | 新db server job创建 | 业务无影响 | dba–xxx | dba–xxx | ||||
12 | 恢复备份与归档的job设置 | 业务无影响 | dba–xxx | dba–xxx | ||||
13 | 业务观察与验证 | 业务无影响 | dba–xxx | dba–xxx | ||||
14 | 禁用原db server上的账号 | 业务无影响 | dba–xxx | dba–xxx | ||||
三.迁移后 | ||||||||
1 | 持续性业务观察与验证 | 业务无影响 | dba–xxx | dba–xxx | ||||
2 | 观察db 访问、job执行情况 | 业务无影响 | dba–xxx | dba–xxx | ||||
3 | db server性能的观察 | 业务无影响 | dba–xxx | dba–xxx | ||||
4 | 迁移前后性能比较(优化)报告 | 业务无影响 | dba–xxx | dba–xxx | ||||
5 | db server下线 | 业务无影响 | dba–xxx | dba–xxx | ||||
四.风险点 | ||||||||
1 |
db 迁移过程时间较长,期间不可访问,程序应用重试连接 失效,需要逐一重启。 |
|||||||
五.异常故障及回退方案 | ||||||||