Chinaunix

标题: [ZT]怎样成为一个真正的DBA? [打印本页]

作者: xzh2000    时间: 2004-02-04 23:09
标题: [ZT]怎样成为一个真正的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,同时又要有真正应用环境.
作者: xzh2000    时间: 2004-02-05 14:28
最初由 magicangel 发布
[B]看上去好像很难? [/B]


這應該是很容易的啦。:right:
作者: zjcdillion    时间: 2004-02-05 14:32
人的机遇不同,有的人觉得很难,有的人很轻松就作到了。
作者: woodlin    时间: 2004-02-09 10:24
标题: 那一般的DBA,不做开发,只做维护的,收入如何呢?
那一般的DBA,不做开发,只做维护的,收入如何呢?
作者: ccwlm741212    时间: 2004-02-09 10:31
做一个好的DBA不难,优秀的难点,收入在6K左右吧(平均)
作者: woodlin    时间: 2004-02-09 14:05
有那么高啊!我只负责三台远程服务器的日常维护和数据管理,那1K多点的报酬,是不是太低拉!我可是在福建的省会福州啊.
作者: magicangel    时间: 2004-02-09 22:17
最初由 xzh2000 发布
[B]

這應該是很容易的啦。:right: [/B]


:lovely:
作者: xzh2000    时间: 2004-02-09 22:49
要想成为一个真正的DBA ,两方面的知识缺一不可,一是:非常坚实的数据库基础知识,包括基本概念和结构。要做到这点,最好的办法是选择一家真正有实力的培训公司进行培训,因为ORACLE数据库非常抽象化和逻辑化,自学有一定的难度. 二是丰富的工作经验――处理问题和解决问的能力,要实现这一点,一方面可通过长时间的工作,在工作中获的,这需要很长时间,还有一种更好的方法是,由有经验的DBA真接在真正的环境下向你传授予这种工作经验,这就要求要有有经验的DBA,同时又要有真正应用环境.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
上面这段话偶持反对特度,一个DBA,如果没有较强的自学能力,没有独立解决问题的能力,
真的是很危险的事情。越是有难度的东西,越能体现出自身的价值,如果靠培训或别人带又怎能成为一个合格的DBA?
作者: ccwlm741212    时间: 2004-02-10 08:52
最初由 xzh2000 发布
[B]要想成为一个真正的DBA ,两方面的知识缺一不可,一是:非常坚实的数据库基础知识,包括基本概念和结构。要做到这点,最好的办法是选择一家真正有实力的培训公司进行培训,因为ORACLE数据库非常抽象化和逻辑化,自学有一定的难度. 二是丰富的工作经验――处理问题和解决问的能力,要实现这一点,一方面可通过长时间的工作,在工作中获的,这需要很长时间,还有一种更好的方法是,由有经验的DBA真接在真正的环境下向你传授予这种工作经验,这就要求要有有经验的DBA,同时又要有真正应用环境.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
上面这段话偶持反对特度,一个DBA,如果没有较强的自学能力,没有独立解决问题的能力,
真的是很危险的事情。越是有难度的东西,越能体现出自身的价值,如果靠培训或别人带又怎能成为一个合格的DBA? [/B]


这可是大师的成长里程啊,经过实践检验的哦
作者: lynx286    时间: 2004-02-16 11:46
正在努力成为一名真正的DBA
作者: ccwlm741212    时间: 2004-02-16 11:50
最初由 lynx286 发布
[B]正在努力成为一名真正的DBA [/B]


一步一步的一直向前走就能成为一名真正的DBA
作者: xzh2000    时间: 2004-02-16 15:57
数据库管理员DBA    zjcxc(收藏)
  
关键字     数据库管理员,DBA
  


数据库管理员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确实称得上\"数据库系统的贵族\"。不管是小型商业系统,还是大的银行系统,用DB2都是可以高枕无忧的。最近推出的新版DB2 6.1, 管理和调节工具更加卓越和便于使用。DB2 可以运行在Intel架构上,也可以运行在IBM的S/390大型计算机上。如果你所在的行业对IBM的机器特别地称道,建议你学习IBM DB2。

DB2有两种版本:工作组版和企业版。工作组版999美元每服务器,外加249美元每个并发用户。而企业版是12500美元每个CPU,不限并发用户数量。

以Java为中心的数据库-Sybase Adaptive Server Enterprise(ASE) 12.0

  即将发布的Sybase ASE 12.0,直接面向Java 程序员。这种以Java为中心的数据库系统,为那些准备在Java 平台下构建企业应用的企业来说,将是最好的选择。但是ASE称不上一个数据库领域的领先者,尽管相对于它以前的版本已经改进很多,并支持多个CPU和更多的并发,还有很多的新的特性。但Sybase的风光似乎已经不再。

值得期盼的Informix Centaur

  有时候\"第一\"只是意味着你的对手需要等待更长的时间去赶上你。这正是1997年创立的Informix所面临的。Informix公司是率先将多媒体特性加入到关系数据库系统的大型数据库厂商之一。但是如今,IBM、Oracle、Sybase都已经跨越了这个概念。所以,Informix不得不寻求新的支撑来使自己区别于其他数据库厂商。这就是Informix Centaur的目标。Informix Centaur结合了Informix Dynamic Server 7.3的对象-关系数据库和Informix Universal Data Option 9.1,意在获得更好的适应性和多媒体支持。详情如何,我们拭目以待!

DBA的薪资

有很多因素影响到你作为DBA的薪资:

你的经验和能力所决定的DBA等级
你所熟悉的数据库系统
你的个性特点和潜力
作者: xyj0323    时间: 2004-03-28 21:58
但是找dba的公司太少,并且不会要没有工作经验的人啊。
作者: lsglsg    时间: 2005-06-16 14:32
标题: 我发的首贴,支持不错
啥也别说了,一个字,真的不错。谢谢。
作者: tdzr    时间: 2005-06-17 00:37
好帖,但是好的DBA都需要从开发做起吗?
作者: vc_delphi    时间: 2005-06-17 10:22
原来做一个好的DBA,是这样啊!
难怪我的一个数据库网友不想开发了,想做DBA呢!!!
作者: guomulin    时间: 2005-06-17 10:28
但是我觉得专职作DBA的不多。对于数据重要的单位dba的责任很大。不知说的对否。
作者: chichunhua    时间: 2005-06-18 11:04
恩關鍵是看你怎麼認為,沒事情的時候DBA好像沒事,但是一旦有事情數據庫出問題了,那你的責任就大了,要不然數據搞不回來你就完了,走人八
作者: joyceanne    时间: 2005-06-18 13:58
同意楼上的观点,做为一个DBA他的责任是很大的。一旦数据库系统出现问题,DBA解决不了,那他分分钟要走人。
作者: wukele    时间: 2005-06-25 21:14
那我学ms sql 不是完了
作者: wukele    时间: 2005-06-25 21:24
楼上的我好象在那里见过了
作者: killer387    时间: 2005-07-01 20:57
-我也想成为一个DBA,可是我是一个菜鸟之王,所以我打算先学一下MS SQL SERVER,为以后作打算反正还年轻,
作者: cylt    时间: 2005-08-17 23:02
好多东东,也是好东东,要学习。
作者: yuzhenkui    时间: 2005-08-22 00:38
标题: 受益匪浅
作为刚毕业的大学生,这的很感谢前辈们这么无私的将自己的宝贵经验奉献出来,我现在正在接触一个物流信息系统的研发,但是我大学时的理想就是DBA,不知该怎么办?
作者: wildfire    时间: 2005-08-25 10:55
dba的市场需求不是很多啊,主要是能有个好的环境这个很重要
作者: owenwei    时间: 2005-12-27 15:02
我觉得题目加上“ORACLE“ 这一个词,更合适主题:一个真正的ORACLE DBA。不知楼主意下如何。
作者: sthumanguan    时间: 2006-07-21 21:49
这种文章,到处乱转
---------------------------------
学SQLSERVER 还是到CSDN去吧 这里帖子太少了 根本无法跟CSDN比 不过CSDN偏重开发 在SQLSERVER 维护和管理方面还是欠缺点
作者: zwt4315637    时间: 2006-07-31 11:08
上面这段话偶持反对特度,一个DBA,如果没有较强的自学能力,没有独立解决问题的能力,
真的是很危险的事情。越是有难度的东西,越能体现出自身的价值,如果靠培训或别人带又怎能成为一个合格的DBA?

对这样的看法我很同意,跟在别人的后面是永远长不大的,独立自学,独立思考,独立解决。。。。。。
作者: 黑枪    时间: 2006-08-01 10:43
从底层的开发做起,
一开始没有那个公司疯到让一个新手碰数据库的程度的.
慢 慢的积累
DBA
作者: yecao    时间: 2006-08-03 22:29
好!很有启发,给自己一个定位,向DBA前进!!!
作者: securitygjy    时间: 2007-01-24 16:54
正在学习中,向DBA目标努力。坚持坚持!!
作者: tuquanquan    时间: 2007-04-05 19:53
看来我要走的路还很远
呵呵!!
作者: SKmadfrog    时间: 2007-04-05 20:37
路漫漫其修远兮,吾将上下而求索!
作者: lishaochao2007    时间: 2007-09-13 11:28
非常不错,值得深思。
作者: lishaochao2007    时间: 2007-09-13 11:47
非常不错,值得一看!
作者: 流氓88    时间: 2007-09-14 23:00
不轻易放弃,先把手头上的MS SQL SERVER 2000学好了,尽量熟悉了这个的开发,慢慢向ORACLE前进
作者: bll123456    时间: 2007-11-23 11:34
原帖由 victorshy 于 2007-9-30 11:54 发表
茅舍顿开


I 服了U
好一个茅舍顿开:sweat:
作者: 张盎    时间: 2007-11-23 18:42
DBA(数据库管理员)守则

  1.备份重于一切

  我们必需知道,系统总是要崩溃的,没有有效的备份只是等哪一天死!我经常开玩笑的说,唯一会使DBA在梦中惊醒的就是,没有有效的备份.

  2.头脑清醒,三思而后行

  think thrice before you act

  任何时候都要清楚你所做的一切,否则宁可不做!有时候一个回车,一条命令就会造成不可恢复的灾难,所以,你必需清楚确认你所做的一切,并且在必要时保护现场.

  3.只要磁盘空间够用,不要轻易删除文件

  要知道在UNIX/Linux下,这个操作意味着你可能将永远失去后面的东西,所以,确认你的操作!!!

  太多的人在 \"rm -rf\" 上悲痛欲绝,当年写下这条守则时,是一个凌晨被一个朋友吵醒,他说误操作rm -rf删除掉了200G的数据库,并且没有备份.

  我当时能告诉他的只有一句话:要保持冷静.

  4.严格按规范操作,如果没有规范,你来制定规范

  良好的规范是减少故障的基础。所以,做为一个DBA,你需要来制订规范,规范开发甚至系统人员,这样甚至可以规避有意或是无意的误操作.减少数据库的风险.

  我们知道,在管理良好的数据库服务器上,rm -rf甚至可能是不允许使用的.

  也许我们需要遵守的可能更多,所以我一直强调DBA一定要严谨专注,当然我也非常喜欢另外一句话:坚韧卓绝之人,必能成就万事.
作者: matthew8216    时间: 2008-05-04 13:14
一个DBA,如果没有较强的自学能力,没有独立解决问题的能力,
真的是很危险的事情。越是有难度的东西,越能体现出自身的价值,如果靠培训或别人带又怎能成为一个合格的DBA?
作者: Gypsygz    时间: 2008-06-28 09:28
极力支持自学,交流共享,共同提高!
作者: aiyabear    时间: 2008-11-07 08:36
呵呵,学习了,支持一下。
作者: 2gua    时间: 2008-11-09 12:00
关键要有丰富的实践经验。
作者: hnkdrory    时间: 2008-11-09 20:33
ORACLE没用过...想学来着...一直用的SQL
作者: zfq308    时间: 2008-11-11 13:03
我不是DBA,但卻被當成DBA使喚:za:
作者: shalwei    时间: 2008-12-17 11:51
30岁之前要抓紧时间和机会学习
多做点也不是坏事,主要是能学到有用的东西才是关键
钱这个东西以后总能补回来的
技术的东西你现在不去折磨它,以后它就会来折磨你:sun:
作者: serverfj    时间: 2009-02-04 09:34
学习了,不过现在做一个真正的DBA还有很多路要走的。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2