原址如下:
http://daiwei.blog.51cto.com/64920/50165
DBA的职责
另外一篇,原址如下:
http://blog.csdn.net/inthirties/article/details/4715880
- 作者: 三十而立
- 时间:2009年10月23日 17:25:59
- 请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“inthirties(三十而立)”和出处”http://blog.csdn.net/inthirties/archive/2009/10/23/4715880.aspx”,深入讨论可以联系inthirties@gmail.com。
经常有网友朋友会问到我,作为一个DBA我们的工作是什么,我们每天要做什么,DBA的职责是什么,或者是一个刚刚涉足oracle管理的新人,或者是没有接触过Oracle DBA工作的其他技术人员(开发人员),也同样对Oracle DBA的工作内容产生兴趣或者感到神秘。
那么这里到底作为Oracle DBA我们的职责是什么叻。
我们都知道信息化的现代,数据对于我们的企业和组织是多么的重要,经营决策者通过数据指定经营战略,服务人员通过数据进行客户服务和反馈,生产和库存管理通过数据来制定计划,还有很多很多。
如果,我们的数据库发生故障,数据不能为这些用户所用,那么这些人的工作都将不能履行,这将是一个灾难性的后果,如果是类似于taobao这样的系统,如果不能访问数据库,即使是非常短的一段时间,都有可能让用户损失成千甚至上万的订单。
而我们的DBA正是为我们这些重要的数据和存储这些数据的系统服务的,作为DBA我们的一切行为都是围绕着我们的数据和存储数据的系统进行的,DBA日常的工作都是围绕着这两个目标,如果我们的数据不能使用,我们的数据库系统不能及时的访问,那么作为DBA我们就需要检讨和分析我们的工作叻。DBA的所有的工作职责,所有的工作内容,将都是以保证数据可用为主要核心目标而进行的。保证数据的可用性是我们的核心目标。
保证我们的数据和数据库体系健康可用,我们就必须做好监控的工作,做好监控工作,是我们一切工作的基础,监控包括
1. 数据库空间的监控,数据库的体系是否满足数据库数据量的扩展的需求。 通过对空间的监控,我们了解和掌控数据空间的扩展状况。
2. 检查日志文件, 数据库的日志文件是数据库运行健康的病历表,通过对日志文件的监控,我们要及时发现日志中的错误信息和不正常的信息。
3. 检查定期的作业,以保证我们的作业都能够在规定的日程里触发而没有停止,如果有发现停止的作用,要进行分析。
通过上面的监控,我们对系统的健康状况有了最及时的了解。
作为DBA,我们也承担着数据库管理和维护的工作。 管理和维护的工作包括
1. 空间的维护 及时的扩展紧张的空间,对离散度比较大的空间,进行shrink。
2. 故障的排除 排除数据库的故障,是DBA必不可少的工作,这里的故障就很广泛了,我们的DBA人员需要及时的对我们的故障进行排除,在最短的时间内,用最可靠的方法解决问题。从而最大化的减少宕机时间,最大化降低排除故障的风险。如何最快的时间找准问题,找到解决问题的策略,就是DBA的经验积累了。
3. 性能优化 性能也是我们的数据库系统中很常见的一个问题了,性能问题是一个综合性的问题,我们在需求,设计,实现和部署的每个环节上都需要考虑的,我们的DBA需要把自己对于数据库性能的认识和了解贯穿到这其中的每个阶段中,特别是生产中的数据库,我们会直接面对问题,对数据库进行调整,在平时的工作中,我们要尽可能的做主动调整,也就是通过监控一些性能指标,及时的发现问题,阻止被动调整出现,预防是最好的措施,多做主动调整,主动调整的效果总高于别动调整,而且成本风险更小。
4. 备份 数据对我们是很重要的,备份也就重要了,备份可以让我们把已经损坏的数据重新进行恢复,所以这个备份对于我们的DBA犹如起死回生的灵芝妙药,多少次数据灾难有幸恢复,就是得意于我们的备份,多少次忏悔的泪就是为没有备份而留,所以作为DBA,我们保护自己的最基础的办法就是多备份。备份要有策略,我们要制定和规划我们的备份和冗余方案,是物理备份,还是逻辑备份,如何进行增量的规划,做成自动备份的作业,定期的检查备份的备份集。
5. 恢复 当我们的数据库因为不预知的原因回天无力的时候,我们的备份就要用上了。我们的恢复也是需要根据我们的备份计划和策略,结合着我们的实际情况,针对的进行恢复,恢复也是DBA工作的经验积累,能够快速的进行恢复也是一个优秀的DBA的本色叻。
体系设计和规划有时也是对DBA工作的要求
DBA作为对数据库系统的责任人,在对新的系统设计和规划时,DBA需要根据管理的数据库的增长制定出合理的体系的需求,比如说,我们需要什么样的物理设备,需要怎样的机器,什么样的操作系统,需要多少内存,多大的存储空间,何种方式的存储结构和存储方案,作为数据库最了解的人员,在这方面,你的考虑和建议是比较有价值的。
这里就是个人对DBA的工作的总结,DBA工作就是这样一个看似简单,也很枯燥的工作,几乎每天都是和shell命令和sqlplus命令打交道。看是单调的黑色的console反复的敲打着命令。作为一个优秀的DBA,不仅需要了解对Oracle了解,还需要对各种操作系统有了解。同时DBA的工作,又是一份有挑战的工作,面对的Oracle体系是最庞大和最优秀的数据库体系,Oracle的复杂的体系设计,散发着魅力吸引着每个DBA人员。特别是紧急的故障,更是对DBA的勇气的挑战,只有冷静,信心和勇气,加上平时的积累,才能让我们快速的从故障中找到蛛丝马迹,从而找到解决的方法。