赞
踩
在国内,数据库管理员(英文是Database Administrator,简称DBA)算是一个新生的,或者从业人员较少的职位。本人从事DBA的职位,也仅仅有1年的时间。关于DBA应该做些什么,应该是没有一个准确的定义,根据网上的一些资料,结合自己做DBA所经历的具体事务,个人对DBA的职责概述如下: 1. 安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及应用程序工具; 2. 数据库设计系统存储方案,并制定未来的存储需求计划; 3. 一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)及数据库对象(tables,views,indexes),或者是指导开发人员完成这项工作; 4. 根据开发人员的反馈信息,必要的时候,修改数据库的结构; 5. 登记数据库的用户,维护数据库的安全性。 6. 保证数据库的使用符合知识产权相关法规; 7. 控制和监控用户对数据库的存取访问; 8. 监控和优化数据库的性能; 9. 监控和关注数据库系统的健康状况 10.监控数据库的稳定情况,及时处理重大问题 11.制订和实施数据库系统的维护方案; 12.制定数据库备份计划,灾难出现时对数据库信息进行恢复; 13.维护适当介质上的存档或者备份数据; 14.备份和恢复数据库; 15.联系数据库系统的生产厂商,跟踪技术信息,向开发人员传递相关的信息。 这些职责的绝大部分,体现在我们的公司中,是自我进入公司以后,在公司完成的四大系统(项目),这些系统是: 1. 数据库自动备份/恢复系统 该系统完成DBA职责中2、11、13两点,并且解决了备份和恢复的处理需要专业DBA才能很好地完成这个蔽端 2. 数据库状态运行分析系统 该系统完成DBA职责中8、9两点,通过部署该系统,所有被管理的服务器的信息都被汇集在一台监控服务器上,而且这些信息经过了程序和预分析,人工只需要处理程序分析后的结果。程序的自动分析依赖于规则库,在经验的不断积累下,规则库会越来越完成,则这个系统的自动分析功能也越来越强。 在性能优化和健康状况分析方面,一般要高级DBA才能很好的完成此项工作,而监控本身却是一项费力不需要什么技术的工作,这个一般由普通的DBA完成,在部署了此系统后,普通DBA的人力被节约了,而高级DBA的经验也可以积累到规则库中,这样高级DBA可以把重复的工作不断地去掉,从而有时间研究更多深入的东西。 3. 数据库运行监控系统 该系统覆盖DBA职责中的9、10两点,在完成这个系统之前,需要对重要的服务器实施7X24小时的人工监控,非常消耗人力资源。而在监控中,大部分时间都是在做一些状态观察,但不能有松懈,遇到问题时,又必须要较有经验的DBA才能准确地处理,这导致了非常难安排人员。 部署此系统后,公司专门成立了一个监控团队,由监控团队统一监控(包括数据库系统之后的监控),故障出现时,根据系统预设的规则对信息进行分析,给出解决建议,并把信息发送给监控人员,监控人员根据解决建议寻找相关的专业人员解决问题。 4. DB Move(数据库迁移项目) 该系统完成DBA职责中的3、4、5三点。 通过标准的规范,让开发人员可以编写出绝大部分合乎性能和格式需求的脚本,DBA则复核这些脚本,从专业的角度评判脚本的质量,并视情况确定是否能改写为更优秀的脚本,从而保证了发布到线上环境的脚本质量,也减小了低质量脚本进入线上环境带来的危险;同时,在这种模式下,DBA与开发人员的比例可以比较大,同时,配合培训,还可以提供开发人员在数据库方面的技能。 通过规范的流程,保证了对所有环境的修改是可管理的,将各项目组之间在修改上造成的冲突降到了最低。 通过数据库迁移工具,DBA在数据库迁移方面,脚本的语法检查,旧脚本的备份,脚本的更新等工作都是由工具自动完成的,DBA可以把精力投入到有技术要求的脚本性能检查中。 总结个人从事DBA以来所做的工作,主要是把个人的经验融入各种自动化处理系统(目前市面上数据库(特别是SQL Server)的管理工具还是比较少)中,这一点是非常重要的,因为我从事的公司有四套数据库环境,超过60台的数据库服务器,而DBA的全部人员(成都、上海、美国)不足10人,其中3人为基础在培养人DBA,开发人员超过500人,如果没有这些工具,10个人要完成DBA的工作是非常吃力的,在这些工具全部应用后,目前的人力还是有些吃紧,但普通的DBA的工作是很轻松的,可以有很多的时间用在学习上。 在创新应用、行业借鉴经验和应用难点技巧方面体现如下: 创新性应用: Ø 使用InfoPath结合Share Point完成DB Move的所有脚本及文档信息传递 Ø 自行开发数据的数据库迁移工具,配合InfoPath脚本迁移文档(XML格式),能自动完成脚本的语法检查、脚本备份及脚本的发布,使整个数据库发布流程顺畅 Ø 使用SQL Server 2005的SSIS,建立出通用的数据库运行状态框架,能高效开发和部署各种数据库运行状态信息获取程序 Ø 规划的设计出数据库监控系统的通用框架和基类,通过这个项目,能高效地开发和部署各种实时监控系统
行业借鉴经验: Ø 通用数据库运行状态框架 Ø 通用监控系统框和基类 Ø 数据库脚本规范(格式和性能规范) Ø DBA工作的思想:重复工作自动化,建立知识库
应用难点技巧: Ø 解决DBA的开发能力(全部靠T-SQL脚本写不出好的工具) Ø 提高DBA的综合技能,特别是在SQL Server 2005下,XML、一定的开发技能,这些都是必需的
|
文章请同时提交信箱:bestdba@ciw.com.cn mulibox@yahoo.com.cn
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。