某司数据库备份及恢复制度
本文制定了关于数据库备份的目的、方法、周期、策略、介质管理、记录维护等规范,通过规范数据库服务器日常的备份、恢复操作,保障数据库系统的安全可靠运行。
[TOC]
第一条 备份目的
在业务系统的日常运行过程中,可能会存在人为误操作或者一些无法预见性的事件发生,最终导致数据丢失。完善的备份恢复解决方案可以在最短的时间内恢复数据,减轻对业务系统影响。
通过定期对业务系统执行合理、完善的备份策略,可以确保在必要时最大限度的减少业务停机时间以及数据丢失所带来的影响,提高系统可用性以及数据完整性。前提条件是备份都是经过验证的,可恢复的。
第二条 备份方法
由于磁盘是目前性价比比较高、管理方便的存储介质,建议把备份信息存储在磁盘介质上进行保存,提前条件是所备份的服务器需插入磁盘供备份管理员使用。常用的备份方法如下:
序号 | 数据库类型 | 备份模式 | 备份工具 |
---|---|---|---|
1 | MySQL | 完整备份、日志备份 | Xtrabackup、mysqldump |
2 | SQL Server | 完整备份、日志备份 | 自带命令 |
4 | Oracle | 完整备份、日志备份 | 自带命令 |
3 | MongoDB | 完整备份 | mongodump |
第二条 备份周期
数据库文件备份周期的确定,应根据以下几种要素综合考虑:备份数据的重要性,备份数据的容量,备份数据所使用的介质,备份操作的可行性。常用的备份周期包括以下几种:
备份周期 | 适用场景 |
---|---|
每天全备份+每30/60分钟日志备份 | 适用于业务核心数据库,如订单、用户信息、财务信息等 |
每周一次全备份+每30/60分钟日志备份 | 适用于数据库较大、备份耗时长、重要度较低的数据库 |
不进行备份 | 适用于数据重要程序低,保留周期短的临时存储类数据库 不需要备份的数据库需要经过产品总监及CTO的确认 |
第三条 备份策略
备份策略是根据业务系统分类级别定义,针对备份内容制定出合理的备份频率、备份数量、保存周期定义,满足业务对业务系统的安全性和可恢复性要求。
业务系统数据库相关备份策略定义如下:
业务系统 | 备份内容 | 备份频率 (次/月) |
备份数量 (份) |
保存周期 (天) |
不同机房 备份 |
---|---|---|---|---|---|
财务核心系统 | 全备份 | 12 | 2 | 7 | 必须 |
一级、二级 | 全备份 | 12 | 2 | 7 | 必须 |
三级、四级 | 全备份 | 12 | 2 | 7 | 必须 |
五级 | 全备份 | 1 | 1 | 7 | 可选 |
备注:上述分类依据业务的重要性,除了财务核心系统外,一级最重要,二级次之;
第四条 备份整体架构
第五条 备份记录
在完成一次备份操作后,备份脚本自动将此次备份的信息push到数据库平台,包含IP、备份时间、备份大小、消耗时间、存放地点,确保备份记录信息的完整性,同时,通过数据库管理平台可以很方便找到恢复所需的介质设备及存放地点。
若备份失败,备份脚本应通过邮件、短信、钉钉等方式发送备份失败结果及错误代码到DBA,DBA接收到告警信息,应及时人工介入排查失败原因并进行整改。
第六条 介质生命周期
备份介质指的是存放备份数据的物理载体,可以是磁带、光盘、磁盘阵列、磁带等。
由于备份介质的生命周期受到备份文件大小、文件数量、备份次数以及备份环境等因素影响,业界对磁盘介质的生命周期无具体统一标准,根据运维经验,对于按照本规范定义的业务系统备份内容和备份策略执行的备份介质,建议生命周期为3年(从购买日期起开始计算),对超过3年以上的磁盘介质不建议使用,即使是以前购买的未使用磁盘。应购买新生产的磁盘来替换过期磁盘,确保备份数据的安全性和可恢复性。
存储介质 | 保存位置 | 保存期限 |
---|---|---|
服务器磁盘 | 服务器所在机房A | 7天 |
ceph分布式存储 | 异地机房B | 7天 |
磁带 | 机房A | 2年 |
第七条 备份验证策略
恢复是指利用备份介质把所备份的数据内容全部或部分还原到服务器系统中。由于在业务系统日常运行过程中,无法直接在所备份的服务器进行真实环境恢复操作,但为了验证备份介质的可用性以及备份方案完整性、可靠性以及应对未来系统突发事件发生,需要通过模拟环境来对备份介质以及备份方案进行检验,来确保备份的可恢复性,这种操作称为备份恢复验证。通过备份恢复验证,我们还可以总结出恢复经验以及具体恢复步骤,提高应对突发事件的解决速度。
具体备份验证策略如下:
业务系统 | 备份内容 | 恢复测试频率 (次/年) |
介质验证频率 (次/年) |
---|---|---|---|
一级、二级 | 全备份 | 4 | 4 |
三级、四级 | 全备份 | 4 | 4 |
五级 | 全备份 | 2 | 2 |
第八条 恢复方法
根据业务系统备份内容的制定的备份方法 ,提供以下恢复方法来进行备份恢复,具体如下:
序号 | 平台 | 备份工具 |
---|---|---|
1 | MySQL | Xtrabackup/自带命令 |
2 | SQL Server | 自带命令 |
4 | Oracle | 自带命令 |
3 | MongoDB | mongorestore |
第九条 恢复记录
在完成一次恢复操作后,恢复脚本自动将此次恢复的信息push到数据库平台,包含IP、恢复时间、恢复后数据库大小、消耗时间、恢复数据库地点,确保恢复记录信息的完整性。
若恢复失败,恢复脚本应通过邮件、短信、钉钉等方式发送恢复失败结果及错误代码到DBA,DBA接收到告警信息,应及时人工介入排查失败原因并进行整改。