数据库管理员,英文是Database Administrator,简称DBA。数据管理员是指一个负责管理和维护数据库服务器的人。
DBA是一份清闲的工作,还是复杂且须付出心力的重任?把DBA作为一个可能的职业选择的原因是什么呢? 如何确认应不应该从事DBA这样的职业?中国IT实验室将带领您揭开DBA的神秘面纱。
DBA绝对不是一份清闲的工作。
“我刚入门选择了Microsoft SQL Server,这是非常适合中小型企业的数据库系统,熟悉Access的很容易就能初步使用Microsoft SQL Server。”小虎目前有意向投身DBA,但越是了解越是犹豫却步,“对数据库管理员来说,主要的日常工作是安装配置SQL Server并进行日常维护。要使SQL Server为机构发挥作用,单靠一个人是不可能拥有所有技能或时间去做一切要做的事情。作为一名DBA,你的工作就是与程序员,网管员,甚至最终用户协同工作。比如说向SQL编程人员提供他们需要的有关网络硬件和SQL Server的限制因素方面的实际信息,依靠网络管理员解决影响到SQL Server的与网络有关的问题,可能要为正确地做最终用户的培训工作提供一些保证工作,并负责就目前的SQL Server应用软件向最终用户征求反馈意见。如果你在一个小机构工作,你会发现自己常常身兼数职,没有人会说这是个轻松的工作。”
不止是身兼数职,入行稍久的DBA经常发现,工作需要的话,你得准备好随时候命,会在白天或晚上的所有时间接到呼叫去解决他们的数据库出现的致命问题。“当数据库down掉,即使只是很短的时间,公司也会损失重大。基于这个原因,DBA到达现场后必须尽可能迅速的解决问题。”大的公司,有自己的DBA团队以便可以轮流待命,24×7小时的维持数据库应用程序,但如果只有几个,或者只有一个DBA呢?
微笑的鹿说,他的职责包括为为软件打补丁或者对数据库做些改变,但是这些操作不能在公司职员工作的时候做,因为此时数据库必须运行以便他们能够工作。“这意味着DBA经常不得不在很早或者深夜甚至周末,总之,在正常工作时间以外来完成工作。”
如果你没准备好在非正常时间工作,或者在找一个朝九晚五的工作,那么,DBA不是你的最佳选择。
那么,迎难而上成为DBA有什么原因呢?
有的人有成为一名好DBA所需要的天赋,而有的人并不认为成为DBA的秘诀很容易就能掌握。DBA职业需要掌握一定的技能,而且还需要其他IT职业所不必需的要求。
“我想成为DBA,其中一个主要原因是薪水。DBA是IT业中薪水最高的职业之一。”八零后的JOHN坦白地说,“我在网上的DBA资薪调查中注意到,除了重庆是一千多之外,北京上海都是三千多,最高的是深圳有四千。比起当网管员来划算得多了。”
那么,他对自己的实力有没有把握,知道DBA所须的技能吗?
JOHN眨眨眼,竖起手指头一个一个数出来:
安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及应用程序工具。
数据库设计系统存储方案,并制定未来的存储需求计划。
一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。
一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。
根据开发人员的反馈信息,必要的时候,修改数据库的结构。
登记数据库的用户,维护数据库的安全性。把监视数据库实例当作每日必做工作以保证其可用性。升级RDBMS软件并且在必要时使用补丁。必要时升级或者迁移数据库实例。
保证数据库的使用符合知识产权相关法规。
控制和监控用户对数据库的存取访问。分析和管理数据库安全性。控制和监视用户对数据库的访问。必要时审计数据库的使用。
监控和优化数据库的性能。通过分析评价数据库性能,调整服务器操作系统参数、数据库参数、网络性能、应用程序SQL语句等,优化数据库性能,保证数据库在最佳状态下运行。
制定数据库备份计划,灾难出现时对数据库信息进行恢复
维护适当介质上的存档或者备份数据。
监视备份程序。必要时提供恢复。测试备份与恢复程序。
跟随数据库趋向和技术。当可应用时使用新技术。安装,测试和评估Oracle新的相关产品。
联系数据库系统的生产厂商,跟踪技术信息。
“我并不是一定得到大公司啊外企啊,一个小的软件开发工作室,不管它是自己开发应用软件,还是购买第三方的应用软件,只要涉及到数据库,就需要确定是否雇佣一个或几个DBA。”他自信地补充,“我有信心,有多少不涉及数据库的应用软件呢?数据库是商业的灵魂和大脑啊。”JOHN不怕挑战,他经常下载数据库供应商的数据库系统测试版或评估版来练习使用数据库,故意破坏数据库并且尝试修复它,尝试着履行他所能想到的尽可能多的DBA职责,测试和磨练自己在测试平台上的技能,证明了他的数据库管理能力。
除了工资高,其他人想成为DBA是因为喜欢赞扬DBA所收到的荣誉,或者因为他看上去很酷!
90年代早期,在IT业,DBA变得奇缺。假如你想要成为一名DBA,很容易,非常容易。你需要做的就是证明你了解什么是数据库然后工作就会比你预期的更早的出现在你面前。然而进入千禧年,求职者面对更多的严格要求,如果没有经验,获得你的第一份DBA工作是很困难的。没有多少公司会出高工资让一个没有一点经验的DBA去操作、维护和运行IT基础组织的最大最重要的一部分。
在这一点上,洛飞是幸运的。
“我个人认为,成为DBA是很值得的。它是一个很有意思,令人兴奋的职业。”洛飞来到深圳已有四年,成为DBA也有二年时间了,毕业前就已看准职业方向,立志成为DBA,将之视为挑战与乐趣并存的工作。“DBA的角色正在转变,以往企业通常用一名网管来兼任数据库管理员,而现在随着数据库技术的广泛应用,企业要求能够胜任的专业数据库管理员,很多企业正在从其它数据库转向ORACLE,技术人员供不应求。”
洛飞的计算机基础非常扎实,说起DBA的职能也如数家珍,“数据库管理员负责全面管理和控制数据库系统,职责范围包括:对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行检查,发现并解决问题。及时对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查,对表和索引等进行Analyze,检查表空间碎片,寻找数据库性能调整的机会,进行数据库性能调整,提出下一步空间管理计划,对ORACLE数据库状态进行全面检查。”
那么洛飞是否有相应的能力解决问题呢?洛飞承认他毕业之前的相关应用经验,只限于校园内参与的网络安全管理,“但我是计算机相关专业本科毕业,精通至少一种数据库的使用、开发、优化,特别是MySQL数据库,熟悉计算机语言,HTML/CSS、JavaScript、Shell、PERL、PHP、C/C++等,具有良好的英语阅读、沟通能力,实习期间在师兄指导下,能够进行数据库安装、数据库配置和管理 、权限设置和安全管理 ,监控和性能调节 、进行数据的备份和恢复,能够解决一般技术问题,通晓系统架构和数据库设计,并能对数据库进行各种级别的优化;监控数据库的警告日志,定期做备份删除。在深圳通过一个月的试用期后,老板对我的表现很满意,我现在熟悉GNU/Linux、FreeBSD、MS Windows等操作系统的管理和开发环境,熟悉开发、研究和项目管理流程,不久前还提了工资。”洛飞表示,能得到老板的肯定,除了自己善于学习总结肯吃苦耐劳之外,还在于自己的英语能力相当出色,能够用流利的英语解释复杂的技术概念,让团队中其他人明白,将DBA在团队中的工作发挥到最大。
然而对比洛飞的实力与机遇并存,入行已五年的BEN并不鼓励IT人士盲目踏入DBA行业,他坦然说,“除非你已经提前准备好了,否则你可能会发现从事DBA职业充满了挫折和令人头痛。”
“一个数据库存在于操作系统和最终用户应用程序之间,同样地,DBA必须非常精通他的数据库所在的操作系统。DBA并不一定需要知道所有有关操作系统的知识,但是他知道得越多越好。数据库与操作系统联系非常紧密,理解这种关联是十分必要的。DBA还需要知道服务器硬件以及它如何影响与帮助数据库。同时,DBA必须理解应用软件,DBA可能会被要求帮助开发人员创建可靠,健全的数据库应用程序。”
“还有,最重要的也是最明显的,DBA必须十分彻底的理解数据库引擎,它是如何工作的,所有的引擎是如何组合在一起的,以及如何影响数据库引擎向最终用户和应用程序传送数据的能力。我见过的最好的DBA不仅仅对数据库本身有非常深刻的理解,他们知道一些系统管理与应用开发,好多时候他们在成为DBA之前有其中一个或两个背景,无论如何,成为一名合格的而不是出色的DBA也需要许多背景知识。”
DBA的等级并不是很严格的。按照对数据库的掌握情况,简单地分成三个等级:初级Primary、中级Intermediate和高级Senior。
初级DBA又称为DBBS,是英文Database Baby Sitter的缩写。初级DBA常常是兼职的,他们往往同时是程序员或者兼任其他的工作。
BEN最初就是程序员兼任DBBS,只做一些监控的工作。第三方软件供应商已经安装并配置了数据库,他只须处理一些简单的问题,“那时我更喜欢图形化的数据库管理或者监控工具,例如Access这样的桌面数据库更简单易用。”
“数据库管理员是相对比较纯技术化,核心化的技术人员,通常不显示在表面上,一个大项目的实施往往对数据库的要求很高,甚至很大程度上依赖于数据库。但项目的操作和运营往往是项目管理人员和程序员等其他对外人员的工作。因此一旦项目成功,往往被人们所重视的都是项目对外人员,而数据库管理员则比较少被人提及。”BEN一开始没想转为正式的数据库管理员,更享受当程序员,然而当他厌倦了不停止的程序开发,在公司的建议下,转向DBA。
在他看来,项目管理人员也多是一步步由数据库管理员晋升上来的,今后数据库的应用更为广泛,尤其通信行业,其运营需要庞大的数据库支撑,至少在近几年,一个好的数据库管理员还是很有前景的。
成为正式的DBA主要有二个认证,1.OCP DBA是ORACLE公司颁布并实施的一项权威的专业技术标准,目前最热门是Oracle 10G培训,获得该证书需要通过3门认证考试。据了解IT实验室数字网校推出OCP远程培训,如果有充沛时间的网友也可以选择尚观oracle大学OCP面授培训。
2.MCDBA是微软认证系列中极为重要的专业认证之一,能够证明持有者已具备较高的专业技术水平,可以围绕微软SQLServer数据库系统开展实施与管理工作。
中国IT实验室网友海子正计划考取证书,憧憬着找到一份高薪DBA工们,但前辈忠告他,“仅获得认证是不够的,通过DBA认证测试并不意味着你知道如何管理一个数据库,它只是告诉你以后可能的老板,现在你拥有了一定的技术并且你对DBA工作的态度是很认真的。不要依赖认证本身来使你得到工作。”
少平虽然有证书,却并不十分看重,“很多时候,是否取得数据库专家认证证书并不是很重要,我知道很多数据库厂商的培训只要你去了都会获得证书,有很多的公司提供商业化的培训,他们的服务质量也有好有劣,所以证书并不是特别地有意义。”
少平在上海当中级DBA,中级DBA往往同时兼任数据库程序员,他们的工作对性能、稳定性、安全性的追求基本上不是很高,往往配合高级DBA做一些例行工作,“对中级DBA来讲,Windows NT和Unix是有很大差别的。我对SQL比较熟悉,自己购买了几本数据库方面的书籍,并深入钻研,目前将高级DBA定为目标。”
少平推荐了几本书,Oracle 9i完全参考(Oracle 9i The Complete Reference)由Loney 和Koch编写,Oracle Press。每一名Oracle DBA都应该在他事业的早期阅读这本书,在你的测试数据库中练习不同的SQL语句直到他们变成了你的习惯。Oracle 9i参考手册(Oracle 9i SQL Reference manual)是另一个很重要的知识来源,“在他们的技术网站TechNet上(http://technet.oracle.com)你可以访问所有的Oracle在线文档。你必须注册一个账号,但是它是免费的。每个都应该在TechNet上有一个账号。英文能力弱的朋友,可以访问中文站oracle.chinaitlab.com,里面有不少前辈们的技术经验总结。
Oracle 9i DBA手册(Oracle 9i DBA Handbook by Loney on Oracle Press)。“我知道的大多数DBA都在他们事业的早期不只一遍的阅读过这本书。这里,你应该同时阅读和理解Oracle 9i 概念指导,Oracle 9i管理员指导,以及Oracle 9i备份与恢复指导(Oracle 9i Concepts Guide, the Oracle 9i Administrator’s Guide, and the Oracle 9i Backup and Recovery Guide)都来自Oracle文档。”少平说,Oracle Press是Oracle公司的官方出版社,有大量的Oracle相关书籍。同时也有其他的出版社,如Wrox Press 和 O’Reilly Press,还有许多网站和新闻组。要尽可能多的读书使你能够在DBA这条路上昂首继续下去。
少平解释说,高级DBA在国内是非常少的,他们往往购买了太多的数据库方面的英文资料,一般都熟悉很多种操作平台下的几种大型数据库,“他们知道各种不同数据库在不同环境下的优势和劣势,并能在数据库平台和数据库环境的选择方面做出决策,他们一般通晓系统架构和数据库设计,并能对数据库进行各种级别的优化。高级DBA一般都配有助手,他们更偏向做决策和计划,我现在正努力学习,从前辈身上取经,争取在五年之内成为高级DBA。”
一般来说,高级DBA对数据库承担责任,同时也获得所有的荣誉。高级DBA通常都是被看作是解决复杂的Oracle问题的人。你将会用到你所有的技术来解决许多问题,这些技术都是你的职业生涯中积累下来的。
“文档,书籍,新闻组,测试案例,和其它DBA都将辅助你解决问题。”
谈到初级、中级、高级DBA的差异,少平认为,高级DBA需要在影响应用程序性能以前发现系统瓶颈。例如,DBA应该知道在数据库将可用的磁盘空间用完以前预置更多的磁盘空间,不密切关注承载能力计划将会导致生产数据库宕机。
高级DBA往往在银行业、保险业、在线交易等对稳定性、安全性、性能都要求比较高的关键业务处理领域大显身手。一个优秀的数据库管理员工资会大于5000,少平期待那时他的薪金达到年薪十万。
如何成为优秀的DBA?
是不是你有了证书,进行了充分的准备,就表示,你有成为一名优秀的DBA的资格了呢?蓝天考取了Oracle 9i,“Oracle是目前最看好的数据库厂商,由于其强大的功能和可配置、可管理能力,Oracle DBA的薪资一般比其他数据库管理员的薪资要高,而且,Oracle在大中型企业的关键应用也更加普遍了。Oracle可以运行在Windows NT、Sun Solaris、Linux等平台下。很多情况下要求你不仅仅熟悉NT,还要你熟悉Unix,如果你没接触过Oracle,那么不太友善的界面和成箱的Oracle产品资料可能成为一个障碍。”
蓝天的培训老师就曾说过,他的个性非常适合当DBA。
DBA需要跟各种人员打交道,这些人员可能是销售商、用户、开发人员或者管理人员,身为DBA,除了掌握过硬的数据库技术外,还必须具有自己的个性特点。
“蓝天有着旺盛的斗志与强烈自信心,不像有的初级DBA缺乏工作的主动性,不敢下哪怕最小的决定,身为DBA最致命的不是不知道问题的答案,而是不知道从哪儿得到答案。”主管乔治这样评价。
没有好奇心和求知欲的DBA总是等待有人告诉他们答案,而一个求知欲强的DBA将安装最新版本的数据库系统,并立即开始搜寻那些哪怕是细微的功能和性能上的差异和增强,从而改进自己的工作。“好奇心会驱使DBA们理解数据字典(Data Dictionary)、管理工具(Tools)或者其他支持包(Packages)。”
蓝天拥有坚韧的意志力,不会轻易屈服妥协,而DBA常常会碰到棘手的问题,不单在工作上,还在人际关系上,“一个一点不会处事的DBA不会为你做什么好事,只会在你的部门点燃敌对情绪的烈火。DBA要能想办法使问题出现,而不是等待问题的出现。很多时候,开发者、管理者、用户,他们会提出毫无道理的需求,DBA们需要老练地引导、修正它们的要求,说服他们。”除此之外,蓝天还认为,注意细节这种性格倾向非常重要。“注意细节的DBA们衣着整洁,有自己的日程安排,能深入了解数据库的内核,并能理解视图、表之间的关系。”
成为一名优秀的数据库管理员的根本途径,蓝天的看法就是,做好本职工作,一般监视外,对数据库的备份策略要根据实际要求进行更改,数据的日常备份情况要进行监控。定期对管理员等重要用户密码进行修改。对于每一个项目,应该建立一个用户,DBA应该和相应的项目管理人员或者是程序员沟通,确定怎样建立相应的数据库底层模型,最后由DBA统一管理,建立和维护。
“任何数据库对象的更改,应该由DBA根据需求来操作。每一个程序员或相应的工作人员在写相应的SQL语句时,应该严格按照《SQL书写规范》一文,最后要有DBA检查才可以正式运行。一个数据库能否健康有效的运行,仅靠日常的维护是不够的,还应该致力于数据库的更深一层次的管理和研究:数据库本身的优化,开发上的性能优化;项目的合理化;安全化审计方面的工作;数据库的底层建模研究、规划设计;各种数据类型的处理;内部机制的研究;ora-600错误的研究、故障排除,等等很多值得探讨的问题。”
蓝天野心勃勃,积极汲取知识,急流直上,但他个人生活上,却禀承着一种豁达的态度,帮助他在繁忙的工作中找到平衡点,不致被实际工作打击一蹶不振,被好奇地问到有什么秘方,蓝天悠悠念出声来:
他强由他强,清风拂山冈。他横任他横,明月照大江。
你觉得有没有道理呢?你能从不同的人身上启发到什么样的感悟,从而确立自己的目标吗?
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
SQL Server审计最佳做法:DBA的3个关键问题
合规性审计有时候像是数据库管理员最糟糕的噩梦,但并不一定是这样。SQL Server数据库审计的关键是做好准备 […]
-
DBA技能需紧跟大数据技术发展变化
大数据工具正在改变许多公司的数据架构,因此它对于数据库管理员(DBA)所要求的技能将产生一定影响,DBA需要主动地去掌握一些新技术。
-
大数据如何改变DBA工作模式
起初可能只是少数专家拥有必要的知识和技能;但是随着企业实施更多的应用程序并加入更多的用户,那么整个团队就必然会参与到对大数据的支持中来。
-
DBA的特质第二部分:性格
在本系列文章中,笔者将谈一谈数据库管理员(DBA)所应该具备的一些特质。在本文中,我会将介绍让一个人成为优秀DBA的宝贵性格特质。