日期:2013-10-22  浏览次数:20493 次


数据库管理员DBA什么是DBA

  数据库管理员,英文是Database Administrator,简称DBA。这个职位对不同的人意味着不同的意义。一个小的软件开发任务室和一个分工高度明细的大公司相比,DBA的职责来得愈加宽泛一些。一个公司,不管它是本人开发使用软件,还是购置第三方的使用软件,只需涉及到数据库(有多少不涉及数据库的使用软件呢?数据库是商业的灵魂和大脑啊),就需求确定能否雇佣一个或几个DBA。知道DBA这个职位有哪些要求,对于企业内部这个职位的定义或者对于那些未来的DBA将是至关重要的。

DBA的一些职责:

安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及使用程序工具。
数据库设计系统存储方案,并制定未来的存储需求计划。
一旦开发人员设计了一个使用,就需求DBA来创建数据库存储结构(tablespaces)。
一旦开发人员设计了一个使用,就需求DBA来创建数据库对象(tables,views,indexes)。
依据开发人员的反馈信息,必要的时候,修正数据库的结构。
登记数据库的用户,维护数据库的安全性。
保证数据库的使用符合知识产权相关法规。
控制和监控用户对数据库的存取访问。
监控和优化数据库的功用。
制定数据库备份计划,灾难出现时对数据库信息进行恢复
维护适当介质上的存档或者备份数据
备份和恢复数据库
联系数据库系统的生产厂商,跟踪技术信息。


DBA的特性特点

  很多时候管理人员都忽视了DBA的特性特点,他们只关注DBA的技术能力。实际上,上面谈到的每个职责都意味着:DBA需求跟各种人员打交道,这些人员可能是销售商、用户、开发人员或者管理人员。这说明:DBA必须具有下面的特性特点:

自决心
猎奇心
坚韧的意志力
老练
自我驱动
留意细节

为什么这些特性特点很重要呢?

  我就有几个缺乏自决心的部下,他们反复问我一些事无巨细的问题,他们没有决心哪怕做最小的决定。他们也缺乏任务的自动性。这对于初级DBA来说可能问题不太大,但对于那些高级DBA来说,如果他们缺乏自决心,他们又可以依赖谁帮他们决策呢?在DBA的面试中,即便你不能回答某个技术问题,你也要表现出足够的自决心。最致命的不是不知道问题的答案,而是不知道从哪儿得到答案。

  几乎所有的数据库系统都在不停地更新。但并不是所有的更新都有技术文档。对于好的DBA来说,猎奇心是必需的。没有猎奇心和求知欲的DBA总是等待有人通知他们答案。而一个求知欲强的DBA将安装最新版本的数据库系统,并立即开始搜索那些哪怕是细微的功用和功用上的差异和加强,从而改进本人的任务。应试时一个必然问及的问题是:你手头有哪些参考材料?你如何使用它们?毫无疑问,如果你只回答了数据库的文档,或者你甚至没有读过他们,你的"股票市值"将大大下降。猎奇心会驱使DBA们理解数据字典(Data Dictionary)、管理工具(Tools)或者其他支持包(Packages)。

  DBA常常会碰到棘手的问题。寻觅答案是一个需求坚韧意志力、可以经受摔打的特性特点。我常常在一些讨论组或者论坛上看到DBA们提出的问题,这些问题往往是提问者本人可以处理的,如果他们具有坚韧的特性特点,并努力寻求问题的答案。

  自我驱动对每团体都是很重要的,对DBA尤其如此。DBA要能想办法使问题出现,而不是等待问题的出现。自驱力强的DBA常常设法取得或者本人写一些必要的脚本(Script)来监控包括数据表大小(Table Size)、表空间使用(Tablespace Usage)等项目,这些项目如果被忽视,他们将遇到麻烦。应试的时候DBA们常常被问及在PL/SQL、SQL或者SQL*PLUS方面的经验,这些问题将把你从从来没有编写过本人需求的脚本的那些DBA们区分开。

  不用说和用户,就是和程序员和管理人员打交道,也需求你足够老练。一个一点不会处事的DBA不会为你做什么好事,只会在你的部门点燃敌对情绪的烈火。老练是这样一种能力,你劝告某团体到地府去,哈哈,最后这团体怀着渴望的心境去了。很多时候,开发者、管理者、用户,他们会提出毫无道理的需求,DBA们需求老练地引导、修正它们的要求,说服他们。在应试时,你的应对就很能说明你能否老练。
最后说说留意细节,这种性情倾向非常重要。留意细节的DBA们穿着整洁,有本人的日程安排,在应试前对应聘的单位做过调查。留意细节的DBA们深入了解数据库的内核,并能理解视图、表之间的关系。

DBA的等级

  DBA的等级并不是很严厉的。按照对数据库的掌握情况,我简单地分成三个等级:初级Primary、中级Intermediate和高级Senior。

  初级DBA又称为DBBS,是英文Database Baby Sitter的缩写。初级DBA常常是兼职的,他们往往同时是程序员或者兼任其他的任务。初级DBA往往把团体简历写得很棒,参与了很多和数据库有关的项目或任务。但是,这些项目或者任务往往是:第三方软件供应商曾经安装并配置了数据库,他们只做一些监控的任务。他们能处理一些简单的问题,但大多数时候他们向使用软件供应商求救。初级DBA更喜欢图形化的数据库管理或者监控工具,他们喜欢Access这样的桌面数据库简单易用,并把这些小型数据库的经验简单地使用到大型数据库相关的任务中。

  初级DBA是最好区分的。而中级DBA和高级DBA就不太好区分。他们的差别在于经验的不同和特性特点、能力方面的差异。中级DBA比较多,他们可以胜任高级DBA的大部分任务,包括:

数据库安装
数据库配置和管理
权限设置和安全管理
监控和功用调理
备份和恢复
处理普通的问题

  中级DBA往往从业一年左右,熟悉某种操作系统环境下的数据库。由于对中级DBA来讲,Windows NT和Unix是有很大差别的。中级DBA对SQL比较熟悉,他们本人购置了几本数据库方面的书籍,并深入研讨。中级DBA往往同时兼任数据库程序员,他们的任务对功用、稳定性、安全性的追求基本上不是很高,往往配合高级DBA做一些例行任务。

  高级DBA在国内是非常少的。他们购置了太多的数据库方面的英文材料,也许是托朋友从Amazon买的。绝对于他们的报酬来讲,买书的钱是很少的一个比例。高级DBA普通都熟悉很多种操作平台下的几种大型数据库。他们知道各种不同数据库在不同环境下的优势和劣势,并能在数据库平台和数据库环境的选择方面做出决策。他们普通通晓系统架构和数据库设计,并能对数据库进行各种级别的优化。高级DBA普通都配有助手,他们更偏向做决策和计划。高级DBA往往在银行业、保险业、在线买卖等对稳定性、安全性、功用都要求比较高的关键业务处理领域大显身手。

  很多时候,能否取得数据库专家认证证书并不是很重要。我知道很多数据库厂商的培训只需你去了都会获得证书。有很多的公司提供商业化的培训,他们的服务质量也有好有劣。所以证书并不是特别地有意义。

几种流行的数据库系统

最"容易"的数据库系统-Microsoft SQL Server

  如果你打算做一个DBA,建议你选择那些如今比较流行的数据库系统。这意味着你将有更多的就业机会、交流和培训机会,而且,流行自有流行的理由,你可以因此省心很多。当然,就业竞争压力也比较大。普通的入门者选择Microsoft SQL Server,这是非常适合中小型企业的数据库系统,熟悉Access的读者很容易就能初步使用Microsoft SQL Server,成为一个DBBS。 J
Microsoft SQL Server 7.0的报价,5用户版1399美金,添加用户时,127美金每用户。

最"难"的数据库-无冕之王Oracle

  如果你无机会接触到Oracle,那可是个好机会。Oracle是目前最看好的数据库厂商,由于其强大的功用和可配置、可管理能力,Oracle DBA的薪资普通比其他数据库管理员的薪资要高。而且,Oracle在大中型企业的关键使用也愈加普遍了。Oracle可以运转在Windows NT、Sun Solaris、Linux等平台下。很多情况下要求你不只仅熟悉NT,还要你熟悉Unix;而且Oracle不太友善的界面和成箱的Oracle产品材料可能也是一个妨碍。
Oracle 8i标准版的报价,如果运转在Windows NT,附带JServer和interMedia,支持5个并发用户,报价是3925美金每CPU。添加并发用户时,785美金每用户。添加附加的命名用户时,392.5美金每用户。

数据库系统的贵族-IBM UDB/DB2

  作为30年数据库研讨的成果,IBM DB2确实称得上"数据库系统的贵族"。不管是小型商业系统,还是大的银行系