什么是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往往在银行业、保险业、在线交易等对稳定性、安全性、性能都要求比较高的关键业务处理领域大显身手。  很多时候,是否取得数据库专家认证证书并不是很重要。我知道很多数据库厂商的培训只要你去了都会获得证书。有很多的公司提供商业化的培训,他们的服务质量也有好有劣。所以证书并不是特别地有意义。

解决方案 »

  1.   


    (文章来源:赛迪网IT培训子站    作者:赵敏   2003.06.16)  在最近几年里,我已为多家公司面试了许多与Oracle数据库管理员(以下简称-DBA)位置相关的面试者。从一个刚刚入门的最初级的开发人员到一个资深水平的数据库管理员,当然其中最多的面试者是对数据库管理员这一位置的。在这期间,使我感受最深的是,你去雇用一个,或被雇佣成为一个DBA ,有时侯是非常困难的,除非你非常清楚你所指的DBA这一位置是到底做什么。在这里我简短的介绍以下怎样才算是一个真正的DBA。   怎样才是一个真正的DBA?   数据库管理员——DBA,简单讲是很多事情对很多人。在一个中小型企业里,他的工作范围非常广,而在一个正规管理的大型企业里,他的工作就会非常专一。不管你的公司是做开发的,还是应用第三方的开发工具,都需要决定是否雇用一个DBA. 清楚自己公司是否需要的这一位置和这一位置真正做什么,以及那一个层次的DBA适合这一位置,对一个公司或被雇用的人来讲,是至关重要的。   DBA的主要职责:   1:安装,升级ORACLE 服务器和应用工具。   2:设置系统的存储和计划数据库未来存储系统。   3:设计、规划和建立数据库。   4:创建表空间(TABLESPACE),监控和管理表空间。   5:创建数据库中的对象(表、视图、索引)以及对他们的监控和管理。   6:更改数据库的结构,一般是根据应用开发人员的要求,有时是根据系统的设置。   7:监控和控制用户对数据库的连接使用,配置网络连接。   8:创建用户和管理数据库的安全。   9:数据库以及SQL的调优。   10:计划和规划数据库的备份以及如何恢复。   11:管理分布式数据库,动态复制数据库和备用数据库。   12:联系ORACLE公司获得技术支持。   作为一个真正的DBA,必须具备以上所提的所有的这些知识和技能。   DBA应该具备的个性:   作为一个ORACLE DBA,除了坚实的数据库管理技术技能外,还必须具备特有的个性。在以往的工作中,通过对许多的DBA接触和了解,发现一个DBA的个性,对他的工作影响是很大的,一方面,一个DBA必须要面对其他的人,象提供商、用户、开发人员和不同的上司,另一方面,他们最重要的,最关键的工作,往往是数据库出现问题的时候,在这个时候,他们要经受住巨大的精神压力。   自信对于ORACLE DBA非常重要,永远记住,不知道一个问题的答案和不知道怎么去解决它,不是最坏的事情,而最坏的事情是不知道怎么去找出答案和找出解决问题的方法。要有强烈的好奇心,才能跟上ORACLE的不断改变,我刚接触ORACLE 时,是ORACL6 ,而今天已经是ORACLE 9i了,要搞清楚每一次的变化。顽强、坚韧同样重要,很可能有时要二天二夜离不开你的数据库。机智机敏,使你不断的积累工作经验和解决问题的技巧。要自进、上进。作为一个ORACLE DBA ,你的业余时间大部分是在读与ORACLE DBA 相关文档和参考书,既然你想上这条“贼船” ,就要提前做好这个思想准备。注意细节,对每一个微小的变化和问题,都要问个为什么,然后想尽一切办法去把他搞清楚。   怎样成为一个真正的DBA:   要想成为一个真正的DBA ,两方面的知识缺一不可,一是:非常坚实的数据库基础知识,包括基本概念和结构。要做到这点,最好的办法是选择一家真正有实力的培训公司进行培训,因为ORACLE数据库非常抽象化和逻辑化,自学有一定的难度. 二是丰富的工作经验――处理问题和解决问的能力,要实现这一点,一方面可通过长时间的工作,在工作中获的,这需要很长时间,还有一种更好的方法是,由有经验的DBA真接在真正的环境下向你传授予这种工作经验,这就要求要有有经验的DBA,同时又要有真正应用环境.
      

  2.   

    我想先搞好我的老本行,然后向着 初级DBA 挺进……
    很高兴有这么多志同道合的。
      

  3.   

    经典啊!
        我是看到了DBA的前景,我的环境没有高手,我得自己慢慢研究,不过我相信自己
    会成为一个很好得DBA的!
         学习数据库还真和其它不一样,感觉总是没什么好学的,看书都是理论上的东西,
    具体的应用的确是有点难,很多问题是没有碰到是不知道的,这就需要经验,让我们
    一起努力把数据库搞好吧!
         交流是还是很重要的,是学习的最佳方法!多交流吧!不懂就问,没什么不好意思的!!!
      

  4.   

    真是太经典了,比我们的讲师讲的还要好,我一直对数据库很感兴趣,也想以后从事这方面的工作,读了 welyngj(平平淡淡)的话,我感受很深,简直是我的导航灯,我又找到了方向!
        顺便问一下这位大哥,我oracle 9i 学了半年,表,表空间,用户,角色等都会创建和其他的一些操作,用的是 SQL PLUS,是在操作系统2000上
       请问我能考哪些证书
        谢谢
      

  5.   

    to 楼上: 可以考 ocp9i试试。不过你要学习的东西依然很多。
     单位出钱让你培训是最好,否则培训+考试的费用太贵了。 其实,考不考证无所谓,关键看实际水平。
      

  6.   

    的确,ORACLE应该是众多数据库中使用比例比较大的,但是我想知道他们都在什么样的
    的系统下使用呢!
      

  7.   

    好文章~要努力了~顺便说一句:国内的高手DBA都在www.itpub.net
    (不要有人扔砖头过来~)
      

  8.   

    ORACLE可以 在linux操作系统下,可以在Microsoft Windows 2000 下,其他的我就不是很
    清楚了,我学的是在Microsoft Windows 2000 下的
      

  9.   

    也不知道有没有人在RH9+ORACLE9I作为商业用途,还是只都是用来学习用!
    或者说有人用这种组合来做项目吗!
      

  10.   

    看来程序高手在linux
    数据库高手在orcale
    共同学习的话加哦一个.
      

  11.   

    兄弟我正在研读ocp的资料,感觉讲的很系统,不管考不考ocp,对自己来说都是个很好的学习过程,目前在linux下进行联系,共同努力!
      

  12.   

    我也在学习使用linux加oracle8,前一阵子去培训了几天的oracle,感觉获益不浅。oracle是个很系统的东西,由于管理起来远不如sql server简单易用,所以完全考自学有一定困难。我建议那些自学oracle的朋友尽可能的参加一下oracle的培训(单位出钱是更好的,呵呵)。有的地方培训只要2000大几,还是可以接受的。
      

  13.   

    楼上的兄弟,你是在哪里培训的呢,我就是在rh9上自学oracle9i的,的确是很痛苦,最近也想报辅导班培训一下,不知道选择哪家培训好,准备是去itpub,不知道这家怎么样,有谁知道深圳有哪些知名一点的培训机构!
      

  14.   

    说实在的,我一直在WINDOWS下学习。真不好意思!
      

  15.   

    to: tianyaly(tianyaly)
    我在北京找的培训。可以到网上查查。一般培训的地方在网上都有资料的。
      

  16.   

    2000多元的培训,你指望能学到什么?在工作中不断提高oracle的应用水平是最好的方式.