知识大全 在灾难面前如何从容应对

Posted 数据库

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在灾难面前如何从容应对相关的知识,希望对你有一定的参考价值。

  对于数据库管理员来说 不可预测的灾难虽然让他们很头疼 但是并不可怕 可拍的是没有为可能发生的灾难做好相关的准备 以至于当灾难发生的时候素手无策 由于硬件故障 服务器被偷或者其他意外事故 数据库管理员很难避免 数据库管理员能够做的就是采取哪些措施来为未来可能发生的灾难最好准备 笔者在这方面虽然不能够说做的面面俱到 但是也算是做得不错了 笔者就在这里跟大家分享一下这方面的管理经验 帮助大家来应对这些不可预知的灾难

  措施一 定时的对备份文件进行测试

  为了在数据库出现故障的时候迅速利用备份文件进行恢复 数据库管理员往往会设计比较合理地备份策略 如在SQL Server数据库汇中 可以通过完全备份与差异备份相结合的策略来对数据库进行备份 这一步大部分数据库管理员都做的很好 但是他们只做到这一步而已 而很少有数据库管理员会对这些备份文件进行测试 看看能否利用这些备份文件进行顺利恢复

  笔者有一个朋友以前就犯过这个错误 他配制好数据库备份策略以后以为就万事大吉了 但是一次当数据库出现故障 利用这个备份文件恢复之后就出现了一些问题 在数据库中有些视图的列采用了中文名字 但是可能在数据部署的时候配置不当或者其他的原因 导致在恢复的过程中这些中文备注显示的是乱码;而字段名称或者视图名字中包含中文汉字的 则就无法正确恢复过去 还是这些内容不是很多 平时工作中又作了详细的工作笔记 为此发现这个问题后 马上可以重建这些视图 虽然这次事故最终没有造成很大的损失 但是也给我们数据库管理员提了一个醒 数据库备份之后并不是万无一失了 数据库管理员最好能够不定时的对备份文件进行测试 以确保这些备份文件的准确性;以及确保可以从这些备份文件中恢复需要的数据

  笔者现在给企业部署SQL Server数据库的时候 都会要求企业的数据库管理员至少每隔一个月需要对备份文件进行恢复测试 一方面用来测试这些备份文件的准确性 防止因为不正确的备份而造成无法挽回的损失 另一方面 也是锻炼企业数据库管理员对于数据库恢复的熟练程度 让他们能够在遇到数据库服务器故障的时候 能够在最短时间内恢复数据库软件 如果平时不怎么关注这个恢复过程的话 则这些数据库管理员一段时间没做的话 很可能都会还给笔者了 为此进行数据库备份文件的还原测试 即可以用来判断备份文件是否准确;也可以让企业数据库管理员熟悉还原流程 一举多得 数据库管理员要定时不定时的做好还原测试

  措施二 设计并运行一些基本的功能脚本

  作为数据库管理员来说 最悲惨的事情就是自己是最后一个知道问题的人 可能某些故障 如备份失败或者某个触发器无法正常运行 已经发生了很长的一段时间 但是由于数据库管理员可能在忙于其他的事情 没有注意到这方面的内容 久而久之 当故障发生后 才发现因为这些故障而导致原来针对这些灾难的安全措施都不起作用了 所以说 数据库管理员必须实时的了解这些安全措施的运行情况 但是数据库管理员毕竟精力有限 没有这么多的时间来跟踪这方面的内容

  为此笔者建议 作为数据库管理员最好能够自己开发或者直接采用数据库系统中的一些功能性脚本 这些脚本主要用来自动检测数据库的运行状况 如果数据库运行有问题 如在差异备份过程中有错误 则这些功能性脚本就会探测到这个问题 并通过邮件或者其他方式来告知数据库管理员 让他们能够及时的采取措施来解决这个问题 简单的说 这些基本功能脚本就是为数据库管理员提供了一种自动检测数据库的机制 可以用来炎症数据库是否可以回到可工作状态 以确认所有的作业都是在按预想的方式进行

  通常情况下笔者认为可能需要对如下的一些作业进行监控 以确保他们时刻都是有效的 一是数据库的备份策略 需要确保数据库在规定的时间内完成特定的备份(如差异备份与完全备份等等) 二是需要考虑某些触发器是否有效 有些触发器主要用来完成一些约束或者级联更新的功能 数据库管理员需要确保这些触发器是时刻有效的 不然的话很可能导致数据库中数据一致性的破坏 如果由于触发器无效导致级联更新的失败 这也是一种灾难 而且由于这个灾难比较难以发现 为此其危害度可能比服务器故障还要严重的多 所以说 需要通过基本功能脚本来自动检测这些触发器的有效性

  在上一篇《如何了解触发器的执行信息》文章中 笔者也介绍了一些查询触发器执行情况的手段 各位数据库管理员可以参看这篇文章的一些建议 来追踪触发器的执行情况 但是手工监督的话 工作量比较大 而且时间相隔也会比较久 为此比较理想的情况是 数据库管理员能够设计并运行一些基本的功能脚本 用来监督这些触发器的执行与生效情况

  为此笔者认为通常情况下 数据库管理员最好能够在灾难恢复计划中部署一些基本功能脚本 以确认所有事情都是在按管理员的预期方式运行 通过这些脚本 可以帮助数据库管理员来监督与检测数据库的运行情况 而不用等到用户来反映问题

  措施三 审议用户的操作以减少灾难发生的几率

  在实际工作中 服务器等出现故障的几率是比较少的 其实数据库运行中的很多灾难可能是人为造成的 也就是说数据库灾难中 其七分是人祸造成的;而只有三分可能是一些不能够预测的自然灾难所造成的 为此数据库管理员应该审议用户的操作以减少灾难发生大几率

  笔者在数据库维护过程中 就遇到过这方面的事情 那时用户为了数据导入的方便 就直接在数据库中而不是通过前台的应用程序导入数据 为此虽然符合了数据库中的强制规范性要求 如字段非空或者其他的一些约束性条件 但是却违反了前台应用程序的一些处理规则 如字段过长 数据类型不匹配 数据必须为非空等等 由于数据库与前台应用程序业务逻辑的不一致性 这些灾难性问题很难查找 最后不得不重新初始化数据库来清空数据并重新导入

  这个灾难还算比较小 笔者还遇到一些更大的 人祸 有家企业为了导入数据的方便 竟然把数据库中的约束全部禁用了 本来他的想法可能是先把约束禁用掉 以方便数据导入 等到数据导入完成后 在启用约束 但是这往往是行不通的 因为稍微复杂一点的数据库 其表与表之间的约束 字段的约束就好像一张渔网一样 缠绕在一起 很难分清楚 最后这家企业只好求助于我 让我们帮他们处理 遇到这个问题 笔者也束手无策 笔者最后只好快到斩乱码 恢复数据库 然后在约束不取消的情况下 让企业导入数据 此时的话 由于系统约束的限制 会自动对导入的数据进行完整性检查 如果发现有问题的数据 则会马上反映出来 如此的话就可以保证导入数据库中的数据都是符合数据库约束条件的 这就可以有效防止人为的不正常操作给数据库带来灾难性的后果

cha138/Article/program/SQL/201311/16389

相关参考

根据《突发事件应对法》,可以预警的自然灾害、事故灾难和公共卫生事件的预警级别,按照突发事件发生的紧急程度、发展势态和可能造成的危害程度分为4个级别,一级为最高级别,用()表示。

电力安全生产知识竞赛题:根据《突发事件应对法》,可以预警的自然灾害、事故灾难和公共卫生事件的预警级别,按照突发事件发生的紧急程度、发展势态和可能造成的危害程度分为4个级别,一级为最高级别,用()表示。

根据《突发事件应对法》,可以预警的自然灾害、事故灾难和公共卫生事件的预警级别,按照突发事件发生的紧急程度、发展势态和可能造成的危害程度分为4个级别,一级为最高级别,用()表示。

电力安全生产知识竞赛题:根据《突发事件应对法》,可以预警的自然灾害、事故灾难和公共卫生事件的预警级别,按照突发事件发生的紧急程度、发展势态和可能造成的危害程度分为4个级别,一级为最高级别,用()表示。

如何早期摆脱震后心理危机

在灾难发生后,最先出现的除了部队、政府工作人员和医务人员之外,还应该有大量的心理医生。与经济损失相比,灾难对人的心理冲击是内在的,所以不为人注意。随着我国对灾难应对策略的完善,此次汶川灾后的心理干预被

人如何在情感和心理方面应对白癜风的治疗?

虽然白癜风通常并不会招致有害身体的医治,且不会造成身体上的痛苦,但是在情感和心理上的影响却可能是灾难性的。事实上,在印度,那些患上这种疾病的人,尤其是妇女,在婚姻中有时会受到某种歧视。在结婚后患上白癜

人如何在情感和心理方面应对白癜风的治疗?

虽然白癜风通常并不会招致有害身体的医治,且不会造成身体上的痛苦,但是在情感和心理上的影响却可能是灾难性的。事实上,在印度,那些患上这种疾病的人,尤其是妇女,在婚姻中有时会受到某种歧视。在结婚后患上白癜

《突发事件应对法》22题带答案

1、依据《突发事件应对法》的规定,国家将自然灾害、事故灾难和公共卫生事件的预警级别,按照突发事件发生的紧急程度、发展势态和可能造成的危害程度分为一级、二级、三级和四级,标示的颜色分别是()。A、红色、

《突发事件应对法》22题带答案

1、依据《突发事件应对法》的规定,国家将自然灾害、事故灾难和公共卫生事件的预警级别,按照突发事件发生的紧急程度、发展势态和可能造成的危害程度分为一级、二级、三级和四级,标示的颜色分别是()。A、红色、

如果美国金融市场这头“大象”就此倒下,后果无疑是灾难性的。在经济全球化日益发展的今天,中国经济不大可能__,有必要采

如果美国金融市场这头“大象”就此倒下,后果无疑是灾难性的。在经济全球化日益发展的今天,中国经济不大可能____,有必要采取应对措施以保证经济继续稳定发展。_____A、自得其乐B、独善其身C、逍遥自在

知识大全 应对压力面试,卸下你的包装

带着为“压力面试”指点招数的渴求,我们拜访了职业顾问,资深猎头专家徐荷香(Hellen)女士,她的回答很干脆:“做真实的你,不要伪装!”这样的答案似乎有些出乎我们的意料,难道在花花绿绿的面试形式面前,

牛皮癣患者必知的秘密

很多人看到牛皮癣患者,看到他的患病情况,就直观的以为牛皮癣会传染,也就是因为这个错误的想法,给牛皮癣患者带来了无尽的灾难,他们在众人面前无法袒露自己,他们畏惧外界,畏惧人们,因为牛皮癣患者内心的自卑,