数据库的容灾与备份,你是如何处理的?

简介:

话题

Topic

由于核心工作人员的相继离职,运行了15年的国内数据库著名论坛**PUB在中秋节前,因bug修复请求导致全库关闭2天多,数据丢失近4个月。因工作人员的疏忽导致数据丢失的情况屡见不鲜,那么你是怎么管理/维护所在公司的数据库的?贵公司有多少套或多少比例的数据库没有每年至少2次恢复演练?重大操作前,是否都会对可能存在的风险进行评估,并准备好相关预案和应急措施?针对此著名论坛事故,你觉得有必要调整公司的数据安全保护策略吗?(本期话题贡献人:杨志洪)

 

 

 

精彩论点
 
 

 


 

vage:从备份方式上说,我待过的几家电商,都依赖主、备库方式备份。一主两备,两备之中,一个备库是实时恢复,作为存储级高可用。另一个备库当延时恢复,应对误用户级操作。极少量库有磁带啊这样的备份方式。

 

主、备的切换的恢复演练我们每年都会做。核心、重要的库,每年都至少做一次主备切换。我们所有库都有主备库这样模式的容灾环境。

 


 

周睿婷的爸爸:一般公司都会根据系统的重要程度,RTO、RPO的要求制定相应的数据库备份和容灾规范,像金融行业保监会,银监会都下发了明确的文档规定RTO、RPO时间。如果企业没有制定相关的规范那是管理上的问题,如果制定了规范但是正确有效的执行肯定是DBA的问题了。丢了2个月数据估计是DBA备份检查工作没做好吧。

 

我们做过一些基于PPRC、SVC和DG异地容灾的方案,我记得SVC每次同步有一个最小值(好像是25M),哪怕你更改的块不多它还是以最小值为单位传输的。我觉得从网络带宽和验证便捷的角度DG是有优势的。

 


 

Ora-Dual:我理解的(Oracle数据库)主备,用ODG来做会好于在存储上复制的主备方式,但这个也要看一些特定的场景。比如低版本的Oracle数据库用ODG会有困难,至少我们这边对于这样的环境用的是goldengate。

 

双存储做asm Failover diskgroup用IBM的remo mirror。本地磁盘陈列到本地san网络,通过电信交换再到远端的san交换,最后到远端阵列。

 


 

十一月肖邦:ogg对于磁盘级拷贝(HDS的HUR方案操作系统做镜像还是很难控制一致性),现在灾备有sanboot技术方便很多,但是对于异地灾备(北京-上海单向)还是需要做很多配置,dataguard这种方案对于异地灾备方案基本可以忽略,对于数据中心级别异地灾备,基本是HDS和EMC的天下。

 

dg异地灾备可以是可以,但要看距离,因为要铺光纤。异地灾备基本都是磁盘级别拷贝,dg的作用基本无视,只能当作高可用的功能。

 

做db就不要干什么都想着db,db的东西是应用层,等你要去恢复应用,已经是最糟糕的情况了。就像你家着火了你还在搬家电,这个时候一定要赶紧逃跑。所以一定要快,抢时间恢复,能恢复多少是多少,允许数据丢失。如果不允许数据丢失,这个世界估计没人做得到。

 


 

Joseph:应用级的好处就是可以保证事务的一致性,各有各的应用场景,磁盘级的copy在远距离传输中更有优势。远距离磁盘copy延时一般要求低于5ms,而这种要求也是针对应用的有要求,所以要在一定前提下做灾备的规划。磁盘基于块级,可以做到更小颗粒度,节约了带宽,延时更小。

 


 

白鳝:十多年前帮一个银行搞过一个工具叫开库操作管理平台,一个人写sql,一个人评审,通过才执行,在核心账务库操作只能通过这个平台。

 

架构上保证误操作可纠正是更好的办法,Oracle的闪回就是干这个的,可以在dg上开闪回。早年我们给客户设计高可用的时候设计两个dg,一个自动recover,做灾备用,一个延时apply,做误操作的恢复用。

 

 

众说纷纭
 
 

 

alex-t:容灾还是dg靠谱,存储的最多做备份。存储底层没办法保证数据一致性,一般要用for Oracle组件配合,而且实时性不好,还是dg架构简单,管理便捷。

 

小徐:对于存储还是adg最好同时使用,存储方式虽然快,但是安全性谁都保证不了,再说现在带宽相对廉价了,使用adg也未必不可,可以与存储结合使用。

 

流氓才子:我觉得,重大操作时要按照标准化流程。建立多级审核制度,越是重要的操作,越是需要审核,最好来个评估委员会,虽然效率低了点

 

tony:容灾讲体系的,不仅仅这个那个复制技术,最重要的是符合企业业务需求。双活也好,单活也罢,都是为业务服务。

 

发起人的话
 
 
 

 

杨志洪:这个话题很有意思,私下跟几个制造业的朋友聊天,我们大家都知道容灾的重要性,但是有些老板不这么认为,甚至真建设好了他都没办法跟老板说有什么成效。我想说,这就是**PUB事故的源头,当最后一个熟悉环境的人离开后,灾难随踪而至。不管你用什么技术实现,如果你的核心数据库还没有容灾,甚至还没有备份,那是时候做起来了。

 

鸣 谢

在“DBA+社群”热议话题讨论活动中,得到了以下联合发起人以及群友们的积极参与和支持。在此,小编整理成文,并附上所有发表观点的人员头像汇总图,特此鸣谢!

 
 

 

数据库的容灾与备份,你是如何处理的-1

本文来自云栖社区合作伙伴"DBAplus",原文发布时间:2015-9-29

目录
相关文章
|
3月前
|
存储 关系型数据库 MySQL
mysql数据库备份与恢复
MySQL数据库的备份与恢复是确保数据安全性和业务连续性的关键操作。
108 4
|
4月前
|
SQL 关系型数据库 MySQL
如何快速在表级别做同构或者异构数据库之间的数据迁移/备份
【8月更文挑战第17天】本文介绍在同构与异构数据库间快速迁移/备份表级数据的方法。同构迁移可利用数据库自带工具(如MySQL的`mysqldump`)或管理软件(如phpMyAdmin);异构迁移则推荐使用ETL工具(如Pentaho Data Integration)或数据库复制工具(如SymmetricDS),亦可通过编程方式实现。实施前需测试以确保数据完整准确,并注意处理兼容性问题。
164 4
|
1月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
82 3
|
1月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
40 3
|
2月前
|
存储 定位技术 数据库
介绍一下数据库的备份和恢复策略
【10月更文挑战第21】介绍一下数据库的备份和恢复策略
|
1月前
|
数据库
【赵渝强老师】数据库的备份方式
备份数据库是指将数据库中的数据及相关信息保存起来,以便在系统故障时恢复。备份对象不仅限于数据本身,还包括数据库对象、用户权限等。根据备份策略、类型和模式的不同,可分为整体/部分备份、完全/增量备份、一致/非一致备份。文中还附有相关视频讲解。
|
3月前
|
关系型数据库 MySQL 数据库
Navicat备份数据库
涵盖`Navicat`数据库备份、数据安全及备份策略等主题。文库采用精美主题,提升阅读体验。
47 1
Navicat备份数据库
|
3月前
|
SQL 数据库 数据安全/隐私保护
如何手动备份数据库?
如何手动备份数据库?
134 1
|
4月前
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
451 3
|
4月前
|
SQL 关系型数据库 MySQL
在Linux中,如何备份和恢复MySQL数据库?
在Linux中,如何备份和恢复MySQL数据库?