查看: 30202|回复: 166

【案例讨论】灾难与拯救 数据安全精彩案例大讨论!欢迎大家踊跃参与!

[复制链接]
论坛徽章:
118
现任管理团队成员
日期:2011-05-07 01:45:08马上有钱
日期:2014-02-18 16:43:09马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14ITPUB元老
日期:2014-03-05 22:46:57版主2段
日期:2014-03-27 02:21:00射手座
日期:2015-11-10 10:28:18
跳转到指定楼层
1#
发表于 2012-8-2 15:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本期活动特邀几位社区版主,oracle数据库专家与大家共同交流探讨:
eygle—中国地区Oracle ACE总监,也是中国地区首位Oracle ACE,云和恩墨创始人,ITPUB论坛超级版主
secooler—Oracle ACE,国际航空运输协会(IATA)任高级数据架构师,OCM联盟(www.ocmu.org)创始人、ITPUB Oracle专题深入讨论版版主
yxyup—现任职知名网络招聘公司系统运维负责人,曾在多家培训中心进行Oracle教学,为企业单位提供了高质量的技术培训,ITPUB Oracle数据库管理版版主
kelsoncong—现任Oracle Fusion HCM Release Team运维成员,多年数据库运维和开发经验,ITPUB Oracle数据库管理版版主

讨论话题:
1.保护业务数据有哪些方法?
2.威胁到数据安全的因素有哪些?
3.通过以下这份案例,给您带来哪些警示?

本期活动精彩案例分享:
【数据安全】
一次惊心动魄的ASM磁盘头损坏故障处理过程带来的深思
  数据通常比喻为企业的血液和生命,数据安全一直是大家非常重视的话题。
  Oracle数据库,为了防止数据丢失以及构建高可用环境给出了多种架构方式。例如,为了防止Oracle实例级别的单点故障提供了RAC技术(Real Application Clusters,真正的应用集群),RAC以Share Everything的架构方式使多个主机实例可以共享一套存储上的数据,从而避免了由于个别实例出现故障导致数据库不可用;RAC技术仅仅给出了实例层面的高可用解决方案,为了防止存储层面的单点故障,Oracle又提出了Data Guard(数据卫士)技术,无论是逻辑Data Guard还是物理Data Guard都从存储层面解决了单点故障,同时也是灾备技术的最佳选择。基于RAC和Data Guard技术,Oracle进一步又推出了MAA架构方式,即主站点是RAC架构方式,备用站点也是RAC架构方式,主备站点之间通过Data Guard技术使用redo传输变化的数据,确保备站点与主站点之间达到实时或者准实时的数据一致。
  除此之外,Oracle还提供了各种备份恢复工具,比如物理备份恢复工具RMAN、逻辑备份恢复工具EXP/IMP EXPDP/IMPDP。基于这些工具便可以定制一套有效的备份恢复策略,以便防止数据丢失。
  以上技术手段都是确保数据不丢失的必要条件,绝非充分条件!这些技术固然重要,但是与之相比,更加重要的是“人”的因素。再优秀的技术,如果没有人来定期做健康检查并排查潜在问题的话,这些都是“浮云”。这里给大家分享一个最近刚刚为客户处理完的一个Case。起到警示的作用。

【数据库环境描述】:
数据库类型:    某政府核心生产系统
影响范围:      全国性
数据量:        8T
主机类型:      IBM 570
数据库版本:    10.2.0.4.0
ASM版本:       10.2.0.4.0
数据库架构方式:两节点RAC架构方式;存储使用ASM技术,并且ASM磁盘头没有备份;未部署Data Guard灾备站点;归档模式,使用RMAN做全库及增量备份。

【故障现象】:
在手工为表空间添加数据文件的时候,触发ASM磁盘头损坏,ASM的alert日志中记录了如下信息:
Sat Jun  9 01:45:51 2012
WARNING: cache read a corrupted block gn=1 dsk=39 blk=18 from disk 39
NOTE: a corrupted block was dumped to the trace file
ERROR: cache failed to read dsk=39 blk=18 from disk(s): 39
ORA-15196: invalid ASM block header [kfc.c:8033] [check_kfbh] [2147483687] [18] [2154781313 != 2634714205]
System State dumped to trace file /home/oracle/admin/+ASM/bdump/+asm1_arb0_602136.trc
NOTE: cache initiating offline of disk 39  group 1
WARNING: offlining disk 39.3734428818 (BDC_DATA_0039) with mask 0x3
NOTE: PST update: grp = 1, dsk = 39, mode = 0x6

【艰难的数据恢复过程】:
  第一次尝试:直接恢复ASM磁盘头数据
  尝试使用Oracle KFED(Kernel Files Editor)工具修改ASM磁盘头,如果这种方式能够顺利的恢复ASM磁盘头的话,将是一种完美的结局,然而事与愿违,此时的ASM磁盘头损坏非一般类型的损坏(故障原因中给出分析),使用KFED无法完成恢复。第一次梦魇不期而遇。
  第二次尝试:使用RMAN进行数据恢复
  既然每天都做RMAN的备份,正常情况下便可以使用RMAN进行数据恢复。因此,找来设备上尝试数据恢复(提醒:千万不要在生产环境上尝试恢复,保留现场很重要!),8T的数据拷贝以及恢复时间都是不可想象的,经过漫长的17小时的恢复,梦魇再一次来袭,在尝试恢复的过程中突然发现,RAC的第二节点上的归档日志不完整,仅剩半个月之前的归档日志,这是不可饶恕的,这也就意味着,使用RMAN工具最多只能恢复到15天前的数据,最近半个月的数据将荡然无存。这便是典型的“无人值守”导致的灾难。
  第三次尝试:尽最大努力挽回数据
  由于RAC第二节点归档日志的丢失导致最多可以恢复到15天前的数据,但也不要放弃希望,尽一切努力进行数据恢复。再次尝试使用RMAN恢复数据到15天前。正如小说中常见的情景,此时,梦魇又一次降临到这套可怜的数据库!即便恢复到了15天前的数据,发现数据库依然无法正常open。尝试各种手段,启用隐含参数等方法,亦不奏效。使用各种手段强制open数据库后alert日志中频现ORA-00600错误,即使在逻辑导出数据的过程中,都在频繁的抛出ORA-00600错误。最终以备份介质无效无法完美恢复而终止。
  第四次终极处理方法:使用工具直接抽取ASM磁盘组中的数据
  在客户几近崩溃的时候,最终选择了直接数据抽取方法进行恢复,直接抽取ASM磁盘组中的数据,构造出数据文件的全貌,又是一个10多小时的漫长数据抽取恢复时间。经过漫长的等待之后,经验证,数据完美恢复完毕,没有让客户丢失任何一条重要数据!

【故障原因】:
  此次故障推测是由于底层磁盘的映射混乱导致的,比如主机重启后导致disk number变化,导致Oracle认为ASM磁盘组的某块盘是voting disk,进而错误的写入了心跳信息,覆盖了原来位置上的ASM元数据ALT,这样一旦有大规模的reblance操作需要改上述ALT时,ASM便出现了上述故障。这种故障是无法通过简单的KFED工具进行恢复的。

【数据安全故障总结】:
  这个Case中的故障本身并不可怕,可怕的是这个过程中出现的各种险情,发人深思。我们经常提到“备份重于一切”、“有备无患”等DBA职业操守。我认为最佳的诠释应该再加一条:在可信的架构方式下,定期对备份介质进行有效性验证,及灾备环境DRP演练的前提下!
  针对此次故障的前因后果,给出以下建议:
  1.给出高可用解决方案;建议使用Data Guard技术做远程灾备;
  2.RMAN物理备份以及逻辑备份介质,要定期做备份介质有效性验证;
  3.“人”的因素,制定严格的备份恢复检查机制,对备份以及灾备环境进行日常检查;
  4.前期的架构设计很重要;
  5.……
注:特别感谢secooler版主为大家提供的精彩案例!!欢迎大家踊跃讨论

活动时间:
2012.8.2—2012.8.16

活动奖励:针对以上任意一个问题跟帖回答,我们会在讨论结束后,随机抽选5名讨论最积极的会员赠送eygle新作《Oracle DBA手记4:数据安全警示录》作为奖励。

内容简介:
《Oracle DBA手记·4:数据安全警示录》以数据安全为主线将众多灾难挽救过程串联在一起,不仅对各个案例的发生过程进行了详细描述,更为读者提供了具体的规避法则。其间穿插介绍了很多新鲜的技术细节和恢复方法,以及作者对于数据安全的思考。

本期活动幸运网友为:
buptdream
htyansp
leonarding
xin1shou3
paulyibinyi

恭喜以上几位幸运网友,感谢几位嘉宾百忙中抽出时间和大家一起参与讨论和互动,感谢大家热情的参与和支持!!没有拿到礼品的不要失落哦,后续也会有活动继续的,欢迎继续关注支持!!同时也欢迎大家多多支持eygle新作《Oracle DBA手记4:数据安全警示录》!!
论坛徽章:
41
马上加薪
日期:2014-02-19 11:55:14铁扇公主
日期:2012-02-21 15:02:402012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15ITPUB年度最佳BLOG写作奖
日期:2012-03-13 17:09:53
2#
发表于 2012-8-2 16:18 | 只看该作者
与大家一起探讨关于“数据安全”相关的实例,警钟长鸣ing

Good luck.

secooler

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
38
ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14现任管理团队成员
日期:2012-10-18 17:11:21版主4段
日期:2012-05-15 15:24:112012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23
3#
发表于 2012-8-2 16:23 | 只看该作者
本帖最后由 Laurence.li 于 2012-8-2 18:41 编辑

数据库的备份,只做一套是不够的,除了第一备库(RAC)以外,还应该有第二备库,并且确保是远程的灾备
建立一套监控机制很重要,无论是数据库的备份、主备延迟时间、日志传输、数据库alert日志中的错误信息等等,应该有一套监控系统,而不是靠人

使用道具 举报

回复
4#
发表于 2012-8-2 16:23 | 只看该作者
绝对新人,期待各位大神的分享~

使用道具 举报

回复
论坛徽章:
0
5#
发表于 2012-8-2 16:26 | 只看该作者
学习了。候总久闻大名

使用道具 举报

回复
论坛徽章:
118
现任管理团队成员
日期:2011-05-07 01:45:08马上有钱
日期:2014-02-18 16:43:09马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14ITPUB元老
日期:2014-03-05 22:46:57版主2段
日期:2014-03-27 02:21:00射手座
日期:2015-11-10 10:28:18
6#
 楼主| 发表于 2012-8-2 16:26 | 只看该作者
Laurence.li 发表于 2012-8-2 16:23
远在杭州,虽然去不了现场,但是也要精神上支持一把

介位同学,这是线上讨论!!赶紧发表点观点呗!!

使用道具 举报

回复
论坛徽章:
41
马上加薪
日期:2014-02-19 11:55:14铁扇公主
日期:2012-02-21 15:02:402012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15ITPUB年度最佳BLOG写作奖
日期:2012-03-13 17:09:53
7#
发表于 2012-8-2 16:27 | 只看该作者
白脑翁 发表于 2012-8-2 16:26
学习了。候总久闻大名

互相学习,共同提高。

使用道具 举报

回复
论坛徽章:
118
现任管理团队成员
日期:2011-05-07 01:45:08马上有钱
日期:2014-02-18 16:43:09马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14ITPUB元老
日期:2014-03-05 22:46:57版主2段
日期:2014-03-27 02:21:00射手座
日期:2015-11-10 10:28:18
8#
 楼主| 发表于 2012-8-2 16:27 | 只看该作者
secooler 发表于 2012-8-2 16:18
与大家一起探讨关于“数据安全”相关的实例,警钟长鸣ing

Good luck.

感谢secooler提供的精彩案例,欢迎大家踊跃讨论哦!

使用道具 举报

回复
论坛徽章:
0
9#
发表于 2012-8-2 16:31 | 只看该作者
非常感谢分享。有个问题:
1.为什么rman只能回复到半个月之前的数据?
2.“第四次终极处理方法:使用工具直接抽取ASM磁盘组中的数据” 这个能简单介绍一下吗?

使用道具 举报

回复
论坛徽章:
41
马上加薪
日期:2014-02-19 11:55:14铁扇公主
日期:2012-02-21 15:02:402012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15ITPUB年度最佳BLOG写作奖
日期:2012-03-13 17:09:53
10#
发表于 2012-8-2 16:42 | 只看该作者
afx1007 发表于 2012-8-2 16:31
非常感谢分享。有个问题:
1.为什么rman只能回复到半个月之前的数据?
2.“第四次终极处理方法:使用工具 ...

1.由于无人值守+存储本身问题,导致RAC第二节点上15天之前到出现故障的时刻的归档日志丢失;
2.最终使用的是老熊的ODU直接抽取的ASM数据——也是最后的机会。关于这个工具的介绍和使用方法,请参见 http://www.oracleodu.com/cn/

secooler

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表