扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
数据库管理员是任何灾难恢复成功与否的关键。而数据库管理员取得成功的背后很多角色是十分重要的。服务器管理员将安装和配置服务器;系统管理员将安装和配置操作系统;存储管理员将相应地复制磁盘;应用开发者将处理用户发现的漏洞。这些都是数据库管理员需要依赖的重要角色。
这其中许多步骤都可以在任何灾难恢复和测试之前提前完成。还有些故障是在备援的时候被解决的,这个时候就需要进行一些操作。数据库管理者也许知道应该找谁帮忙或者在日常工作中和谁合作,但是当灾难发生而一些主要支持人员都不在的情况下该怎么办呢?他们应该为这种紧急情况做好充足准备。
让员工知道他们在遇到问题的时候应该求助于谁是非常必要的。
避免可用性问题的一个最好方法就是对员工进行交叉培训。一名掌握了超过一项工作技能的员工可能会在紧急事件发生的时候起到重要作用。Eric Maiwald和William Sieglein在一份题为《安全性计划与灾难恢复》的文章中指出,一些人也许不能进入恢复站点,这使得一些区域被忽略。交叉培训不应该是他们从现有工作的完全抽身而出,除非员工被如此要求。更好的一种做法应该是员工学习一门新的技术,但同时仍然承担他们现有的职位。
例如,Oracle数据库可以接受SQL Server数据库管理员的交叉培训。他们已经非常熟悉相关概念、SQL、结构以及其他一些特性。对他们来说,这只是一个学习新数据库软件不同工具组的问题。这无论对员工自己还是企业都是双赢的。
企业员工可以通过学习一项有价值的新技术来丰富他们的职业经历,而企业则多了一个拥有在日常工作和紧急情况下多重技术的员工。
备份
数据库的需求决定你选择备份的类型。如果一个数据库可以接受几个小时的宕机或者夜间备份足够使用的话,那么完全备份比较合适。如果几乎没有宕机或者数据丢失发生的话,完全备份就没有必要了。
你还可以考虑远程镜像这样的技术。在远程镜像中,生产系统中的所有变更事件都被复制到灾难恢复站点。这在异步环境中是经常考虑到的问题,因为大多数灾难恢复站点离主站点非常远,当需要启动备援操作的时候,数据库可以通过镜像数据进行恢复来确保业务连续性。
另外一项确保灾难恢复数据库最新的技术就是数据复制。当生产数据库到灾难恢复站点数据库之间出现变更的时候,软件的本地设置就会对这些变更事件进行复制。你还可以对这项功能基于计划进行设定,比如每四个小时启动一次,这可以在用户发生错误的时候起到数据恢复的作用。数据库管理员可以使用灾难恢复站点的数据来纠正生产过程中的错误,因为变更已经被延迟了。
安装
数据库软件的安装对数据库管理员来讲已经轻车熟路了,这与在服务器中安装软件有些类似。安装和配置将被详细的记录下来。当需要启动备份操作的时候有可能数据管理员并不在。详细而简明的操作步骤将为其他部门的技术人员临时承担起数据库管理员的角色来安装数据库软件。
每个生产服务器都是不同的。在准备数据库的时候需要完成某些特定的工作。有时候需要运行专门的脚本,或者需要装载或者卸载一些数据。这些独立数据库操作步骤和他们需要执行的指令也是要被记录下来的。
更好地利用灾难恢复站点
灾难恢复的最好方法就是创建一个完善的站点,站点中有随时可用的服务器和运行着的应用软件,这样就可以在需要的时候立即启动备援操作。不过这种方法成本很高,因此并不太受用户青睐。现在有不少运作灾难恢复的方法,同时还节约成本和满足实际需要。
有个一石二鸟的最好方法就是对升级进行测试。所有操作系统、应用和数据库都需要进行日常维护补丁、修护和升级。那些作为生产系统副本的环境就是测试维护升级的主站点。
补丁和修护可以作为一项日常工作日程被增加到灾难恢复系统中。一份经过审核的测试计划可以经过环境应用来检查维护中存在的问题。如果没有发现任何漏洞的话,补丁就可以被保留下来或者作为日常计划被迁移到测试环境中。如果没有发现任何问题的话,补丁就被作为日常计划被迁移到生产环境中。
如果没有在灾难恢复站点或者测试系统中发现漏洞的话,补丁就被退回。这样就不需要另外一个实验室环境,因此就节省了建造一间测试维护补丁的实验室所需的硬件、软件、许可、维护、管理或者占地成本。
如果你现在没有一个用于测试补丁和软件升级的实验室,那么这种方面具有三方面的好处。首先,已经花费在灾难恢复站点上的钱,这就其本身来说是有必要的;第二,现在用于测试软件补丁的生产系统的副本,不需要再建造一间实验室;第三,打过补丁之后就可以节省用在系统管理维护上的费用。确保软件补丁和修护的更新不仅减少了宕机时间,而且还减少了管理员花在系统修复上的时间。
这种方法对于数据库管理员来说尤为有用。在数据库安装、打补丁和升级过程中一台服务器可以被使用多次,但是很少有完整的环境用于完成这些任务。应用开发者和用户需要在安装补丁之后对数据库应用进行测试。数据库管理员可以执行有限的一些操作,但是只有在用户启动系统的时候才能进行真正的测试。
保留测试服务器的灾难恢复站点是另外一种确保灾难恢复快速运行和最大程度上发挥这些服务器作用的方法。在大多数情况下,每个迁移到生产环境中的新项目都需要购买新的服务器设备。你应该购买相同规格的测试服务器,或者高于生产环境中所使用硬件的规格。大多数测试服务器需要更高的存储容量,因为相比生产硬件来说,将运行更多的数据库、应用服务器和Web服务器。灾难恢复站点中的测试服务器完成了大部分的软件安装任务。灾难恢复实例可以在测试服务器上创建然后保持空闲状态。应用服务器、Web服务器和数据库只需等待拉响警报启动备援的那一天。
采用虚拟化服务器可以对降低灾难恢复站点成本起到帮助作用,尤其是在技术成本和复杂性越来越低的时候。现在应用虚拟服务器要比以前容易得多。现在,许多应用、操作系统核数据库都支持服务器虚拟化软件。自从许多虚拟化长航可以与其他软件厂商建立紧密合作关系开始这种情况就开始发生转变了。
来自用户的压力也对软件厂商与虚拟化厂商合作对他们的产品进行认证和支持起到了促进作用。通过虚拟化技术,用户可以在虚拟环境中对一台物理服务器进行重新改造。一个由Web服务器、应用服务器和数据库服务器组成的生产系统可以在一台物理服务器上生成镜像或者虚拟化,这样不需要丢失任何功能性就可以将三台物理服务器整合成为一台。虽然容量不一样了,但是对灾难恢复来说已经足够。这不意味着所有应用都将运行在虚拟服务器上;这些应用必须能够共存。
指导
除了交叉培训之外的一个步骤就是指导。指导项目让专家可以直接与管理认证员直接接触,他们对成为另外一个全新的领域很感兴趣。指导项目对那些希望通过交叉培训获得另外一个空缺的技术职位认证的员工也是有好处的。
通过认证和开放部门间的职业机会,员工将有一种自身完善的感觉,不仅仅拘泥于自己现有的角色中。例如,一个外行人可能很难承担一个数据库管理员的工作。一位具有成为数据库管理员所需要能力的开发员可能会因为缺乏经验而失去了升迁的机会。通过指导项目,开发员在继续承担他们角色的同时获得可能通向新职场领域的交叉培训。因此,指导项目在管理未来人员退休和人员流动等问题的同时,为那些有能力的候选人提供可选择的职业道路。
指导项目为不同的部门传授专业技能,在联系不到专家的时候提供帮助,是灾难恢复中一个需要考虑的重要问题。通过指导项目记录流程,员工自身对紧急事件或者灾难事故的快速反应能力将有很大提高。
本文作者Kevin Medlin自1997年以来曾在包括能源、零售、保险和政府等不同行业从事过管理、支持和开发工作。现在他一名支持Oracle和SQL Server的数据库管理员,通过了从Oracle 8g到10g的认证。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者