如何成就DBA(数据库管理员)职业生涯?

许多年来,我在不同的新闻组上花费了很多时间与那些想知道如何得到数据库管理员(DBA)的工作或

者如何成长为一名DBA的IT人进行交谈,现在他们有了工作。这些年来许多人针对如何达到这个目标提出

了不同意见。本文即是那些意见的综合并且能够在如何才能出色的完成DBA的工作方面给出好的建议。这

篇文章同样对于如何让一名DBA变得对老板更有价值。假如你已经是一名DBA,那么也许你会希望跳过文章

的前几段。

  我应该成为一名DBA么?

  我曾问过的一个问题是一个人应该从事DBA这样的职业么。这个问题并不容易回答,因为它因人而异

。有的人有成为一名好DBA所需要的天赋。而其他人并不认为能够很容易掌握成为DBA的秘诀。DBA职业需

要掌握一定的技能。而且还需要其他IT职业所不必需的要求。因此,为了回答这个问题,我通常给将要成

为DBA的人描述DBA职业所必需的要求。下面的段落中,我都将以问题结尾。在继续下一段以前请花一些时

间考虑并且回答这些问题。

  许多人因为许多原因而立志要成为DBA。其中一个主要原因是薪水。DBA是IT业中薪水最高的职业之一

。其他人想成为DBA是因为喜欢赞扬DBA是受到的荣誉,或者因为他看上去很酷!我个人认为,成为DBA是很

值得的。它是一个很有意思,令人兴奋的职业。那么,你把DBA作为一个可能的职业选择的原因是什么呢?

  除非你已经提前准备好了,否则你可能会发现从事DBA职业充满了挫折和令人头痛。一个数据库存在

于操作系统和最终用户应用程序之间。同样地,DBA必须非常精通他的数据库所在的操作系统。DBA并不一

定需要知道所有有关操作系统的知识,但是他知道得越多越好。数据库与操作系统联系非常紧密。理解这

种关联是十分必要的。DBA还需要知道服务器硬件以及它如何影响与帮助数据库。同时,DBA必须理解应用

软件。DBA可能会被要求帮助开发人员创建可靠,健全的数据库应用程序。还有,最重要的也是最明显的

,DBA必须十分彻底的理解数据库引擎,它是如何工作的,所有的引擎是如何组合在一起的,以及如何影

响数据库引擎向最终用户和应用程序传送数据的能力。我见过的最好的DBA有非常深刻的理解而且不仅仅

在数据库本身。他们知道一些系统管理与应用开发。好多时候他们在成为DBA之前有其中一个或两个背景

。无论如何,成为一名合格的而不是出色的DBA也需要许多背景知识。你是否已经做好准备开始学习直到

你感到已经无法再学下去了?

  许多和我交谈过的,在开始DBA职业时遇到困难的人,在尝试着吸收大量DBA所需了解的信息时实际上

都会有一些问题。毕竟系统管理员是全职学习操作系统的细节。应用程序开发人员全职学习如何编写好的

程序。DBA不仅要非常了解这两种不同的工作,而且还需要花费更多的时间去理解数据库的体系结构,以

及理解每一样东西的每一块是如何组合在一起的!听起来是不是很让人畏缩?有许多人失败后这样想,并且

把DBA工作看作一项非常困难的事情。也有那些传播和理解所有这些信息,并且使用这些信息做出好的,

听起来具有技术性的决定的人。正如我以前是一名DBA时喜欢说的,所有这些对我来说看上去像一个大谜

团。把这些所有的很好的组合在一起就是挑战。你是哪一种人?

  许多DBA是随时侯命的。他们会在白天或晚上的所有时间接到呼叫去解决他们的数据库出现的致命问

题。数据库是商业信息技术基础组织的必不可少的组成部分。没有数据,就没有必要拥有一个计算机系统

。数据推动商业。假如amazon.com的网站不能在数据库中搜索产品并且假如没有人能够为他们的产品下订

单,那么它会变成什么样?它就不会在商业中存在很久。当数据库down掉,即使只是很短的时间,公司也

会损失重大。基于这个原因,DBA到达现场后必须尽可能迅速的解决问题。许多公司有自己的DBA团队以便

可以轮流待命。这些DBA 24x7小时的维持数据库应用程序。假如工作需要的话,你准备好随时候命了么?
一些DBA的职责包括为软件打补丁或者对数据库做些改变。通常,这些操作不能在公司职员工作的时候做

,因为此时数据库必须运行以便他们能够工作。这意味着DBA经常不得不在很早或者深夜甚至周末,总之

,在正常工作时间以外来完成工作。你准备好在非正常时间工作,或者你在找一个朝九晚五的工作?

  对DBA而言,需要掌握的一个重要内容就是通常被称为“软技术”的东西。DBA需要在团队中很好的工

作,通常团队是在变化的,如系统管理员,网络管理员,应用程序开发人员,项目经理和其他人。DBA要

能够用流利的英语解释复杂的技术概念,让团队中其他人明白。DBA还要能够在数据库相关问题上指挥团

队队员。你的软技术怎么样?

  下面不是全部列表,但是包括了DBA的典型职责:

  · 把监视数据库实例当作每日必做工作以保证其可用性。解决不可用的问题。

  · 收集系统统计和性能信息以便定向和配置分析。

  · 配置和调整数据库实例以便在应用程序特定要求下达到最佳性能。

  · 分析和管理数据库安全性。控制和监视用户对数据库的访问。必要时审计数据库的使用。

  · 监视备份程序。必要时提供恢复。测试备份与恢复程序。

  · 升级RDBMS软件并且在必要时使用补丁。必要时升级或者迁移数据库实例。

  · 通过数据库相关动作来支持应用程序开发人员。

  · 跟随数据库趋向和技术。当可应用时使用新技术。安装,测试和评估Oracle新的相关产品。

  · 执行存储和物理设计。均衡设计问题以完成性能优化。

  · 创建,配置和设计信的数据库实例。

  · 诊断,故障检测和解决任何数据库相关问题。必要时联系Oracle支持人员以便使问题得到较好的

解决。

  · 确保Oracle网络软件(SQL*Net, Net8, Names, OiD)配置和运行的很好。

  · 与系统管理员(Unix &NT)一起工作以保证Oracle相关事务得到很好的处理。

  · 为有效的,定期的维护数据库创建任何必要的脚本。

  前面各段的问题是为了使你考虑一名DBA该做些什么,帮助你决定这是不是适合你的职业。我并非意

味着假如你的目标是成为DBA这些会阻止你。我只是尝试着展现一些事实。我看到过一些DBA一旦被实际工

作打击了就一蹶不振。他们花费时间,精力和一些金钱获得了他们的第一份DBA工作。我个人认为这个职

业非常有价值。而且我无法想像现在做任何其他的会怎样。所以,这一段帮助你决定这是不是你希望从事

的。假如它是,那么尽你所有去得到它!

  我怎样得到第一份DBA工作?

  你已经阅读了前面的段落并且认为成为一名DBA是一个好的职业。祝贺你!我希望你的职业能变成你想

像得那么令人兴奋和有意义。那么,你如何找到第一份DBA工作?这个问题我已经听别人问了许多许多遍。

  在90年代早期,因特网急速发展。它使公司象草一般萌芽。公司蜂拥而至并且开始创建他们在网上的

形象。几乎所有这些有网站的公司都需要一个数据库作为web应用的后台。不幸的是,当时在该领域却没

有那么多DBA。在IT业,DBA变得奇缺。那段时间里,得到一份DBA工作看上去只要可以拼出“Oracle”或

者可能只是在大学里接触过一学期的数据库就行。为了使生活变得更好,DBA的匮乏促使公司付给有潜力

的职员很高的薪水。假如你想要成为一名DBA,很容易,非常容易。你需要做的就是证明你了解什么是数

据库然后工作就会比你预期的更早的出现在你面前。

  然后因特网的泡沫破灭了。大量投产因特网的公司破产。许多给公司工作的DBA重新寻找工作。缺少

DBA的公司找到一名有DBA经验的人比以前容易得多。在21世纪初期,由于经济并不十分稳固,因此生活并

不容易(至少在美国如此)。公司都勒紧了他们的裤腰带。所有这些转化为更少的工作机会和DBA候选人更

少的工作空缺。

  得到第一份DBA工作的最艰难的部分是每一个职位都要求有一些工作经验。如果你从公司的角度出发

,你就可以理解为什么对DBA职位而言经验是必需的。假如他没有一点经验,你会付给这个人很高的工资

让他去操作,维护和运行你IT基础组织的最大最重要的一部分么?你的公司会付钱给一名没有经验的DBA么

?并且,在等待他成长起来的过程中可能会损失上百万美元的收入。对大多数公司而言,这些问题的答案

肯定是‘不’。所以,没有经验,获得你的第一份DBA工作是很困难的。
第一份DBA工作现在成了恶性循环的境遇。假如我没有任何经验,我怎样才能得到DBA的工作呢?我没有工

作的话又怎么能得到DBA经验呢?这是要战胜的最困难的障碍。最困难的部分是获得第一个DBA工作。这部

分的剩下部分将针对实现你第一个DBA工作的目标给你一些建议。

  提示#1:接受教育。--尽可能多的学习有关数据库的知识。这很可能将占用你正常工作以外的部分时

间也精力。参加本地大学举办的数据库培训班。许多培训公司都会举办数据库管理员的培训班。假如你的

老板不资助你的学习,那么你可能不得不自己支付这笔费用。许多DBA职业要求至少为计算机科学或相关

专业本科以上学历,因此你必须至少有那样的文凭。

  提示#2:锻炼成为DBA。--许多数据库供应商都允许你下载他们数据库系统的测试版或评估版。下载一

份并且在自己的个人电脑上安装软件。练习使用数据库。故意破坏数据库并且尝试修复它。尝试着履行你

所能想到的尽可能多的DBA职责。测试和磨练你在自己的测试平台上的技能这样你就可以证明你的数据库

管理能力。

  提示#3:获得认证。--许多数据库提供商都提供自己的数据库产品的认证。许多公司现在都把认证看

作是一种标准。需要记住的一件事是仅获得认证是不够的。通过DBA认证测试并不意味着你知道如何管理

一个数据库。它只是告诉你以后可能的老板,现在你拥有了一定的技术。它还告诉你的老板你对DBA工作

的态度是很认真的。我看到许多人抱怨他们已经得到了认证但是没有经验,却仍然不能得到第一份DBA工

作。认证本身并不能使你得到工作,但它是无害的。即使没有其他的,在你进行认证的时候你也已经学到

了许多知识。只是不要依赖认证来给你带来你要找的工作。你需要的比这还要多。但它会在最后帮助你。

  提示#4:利用你现有的技能。--许多DBA具有系统管理员背景。其他的有应用程序开发背景。假如可能

,查看你能否利用现有的技能来得到工作。现在的目标就是为你和你的老板创造一个双赢的局面。例如,

让我们假设你已经是一名系统管理员而想进入DBA领域。也许你会找到一份工作,这份工作一部分时间里

可以用到你的系统管理技能,并且在剩下的时间里可以使你涉及到数据库管理领域。假如你已经是一名某

个产品平台上的DBA但你希望转到其他产品平台,那么看看你能否找到一份同时接触两个产品平台的工作

。这样,公司和你都得到了想要的。在你定向到了DBA工作后,你可以试着得到一个能让你全职作它的职

位,也许还可以在同一个公司中。

  提示#5:利用现在的机会。--有时候,一个人进入DBA领域仅仅需要的是正确的地方和正确的时机。假

如你现在的老板有一个机会让你进行任何数据库的项目,抓住这个机会!任何数据库经验就比没有数据库

经验要好。让你的管理者知道你十分积极的在寻找任何可能的数据库机会。他们就有可能在下次机会到来

的时候想到你。进行这些数据库项目以及看到你要成为一个DBA的渴望以后,他们可能会决定培训你,提

拔你。许多许多人都是以这种方式获得他的第一个DBA工作,在进行了一些数据库相关的项目后不知不觉

的成为一名较低级的DBA。通常当一名DBA离开公司后,公司将在内部寻找一个候选人,假如他们认为这名

候选人是可训练的话。

  提示#6:寻找较低级的DBA职位。--假如你只是为了一个较低级的DBA工作,看到DBA职位的需求描述说

他们正在寻找高级DBA或者其他的。所以,让我们严谨一些。你并没有一个高级方面的经验。我已经讨论

过了对于这样的职位为什么公司不会考虑你。但是他们会在低级的职位上考虑你。低级的DBA在高级DBA的

指导下完成工作。他们摸索窍门。一般来说,高级DBA对数据库承担责任,同时也获得所有的荣誉。但是

不要焦急。随着你的事业发展,你将会有越来越多的责任和得到越来越多的信任。因为你没有任何经验,

你应该从这里开始启航。

  我也听到过一些公司寻找一名高级DBA,但是到最后,他们实际想要雇一名低级的DBA。你或许希望申

请这样的职位虽然你也许没有资格。他们可能还是会决定雇佣你。但是提前说明你仍然在摸索阶段并且已

经是较低级的DBA水平。不要试图欺骗他们让他们认为你是高级DBA的水平。这只会降低你得到这项工作的

机会。

  这些提示将帮助你得到第一份DBA的工作。祝你在寻找工作时有好运气。当你已经找到了第一份DBA工

作后,继续下面的部分来学习如何往下走下去。

 

对于一个SQL Server DBA来说需要哪些技能呢?有许多,其中一部分会更重要些。下面是一些作为一个优秀的SQL Server DBA应掌握的技能:
SQL Server——要想成为一个好的SQL Server DBA,你必须掌握SQL Server。一个S Q L Server DBA需要掌握怎样安装、配置、维护SQL Server,并能解决问题。这看起来不多,但你要明白,SQL Server是一个很大的产品。有利之处是微软增加了许多功能来帮助你完成这些任务。
Windows NT——正如前面所提到的,一个SQL Server DBA至少要了解 Windows NT的
运行机制。SQL Server 7.0与以前发布的版本相比与Windows NT捆绑得更紧密了。S Q L Server DBA的一些基本技能就是熟练地管理用户和用户组;建立、修改和管理共享软件;改变和管理权限;启动和停止Windows NT服务;使用Event Vi e w e r (事件浏览器)。
关系型数据库——因为SQL Server最主要的功能就是管理关系型数据库,所以对于一个SQL Server DBA来说,掌握关系型数据库怎样运行以及它的基本结构是非常重要的。
S Q L——每个D B A都需要对S Q L语言有一个基本的了解。这并不是说要你成为一个程序员,但你确实要知道怎样将 S E L E C T语句组织到一起。这样做的好处是:你越多用 S Q L语言,收益越大。
备份和恢复过程——随着你在数据库中有更多的经历,你遇到的问题可能并不是数据库或服务器是否会崩溃,而是何时会崩溃。当一个数据库损坏后,最好的选择是将最近备份的数据恢复回去。如果一个数据库崩溃了,而你又没做日常备份,通常你就需要写求职履历和找工作了。
业务处理——每个D B A,不管使用什么R D B M S,都需要精通基本的业务运作。可以断定,无论从事什么业务,你的数据库都将模拟你的业务运作。例如:一种在因特网上售物的业务可能需要有一个数据库来跟踪货物、用户帐目和帐单的信息。
现在你已经知道什么是 SQL Server DBA了,你可能会想,SQL Server DBA需要做什么呢?作为一个SQL Server DBA要负责许多工作,并面临巨大的潜在压力。下面是一个 D B A所负责的一些基本工作:
安装SQL Server——这大概是一个SQL Server DBA所要做的第一件事。安装SQL Server比较简单,但是如果没有很好地计划,后面的路将会很难走。常见的情况是,安装一个SQL Server并使它能在片刻之后运行起来,但发现安装了软件的服务器功能不够强大,以至无法处理所担负的工作量。这时,你只好考虑升级硬件或换一个服务器了。
建立和维护数据库——在SQL Server上建立新数据库是D B A的另一个常规任务,维护现有的数据库也将是最重要的工作之一。如果不能正确地维护数据库,数据库将不能正常启动,某种意义上,这对D B A来说意味着更多的工作。
负责维修数据库——这是与维护数据库相伴而来的任务。这包括诸如运行数据库的工具来保证每件事情都正确地建立和分配。关键是在你和用户遇到问题之前,就要去发现并解决导致这些问题的错误。
管理用户——每当一个新成员加入或离开你的公司时,增加或删除这些用户的登录 I D就是D B A的事了。这非常重要,尤其是考虑到一些人在离开公司时可能会悄悄对数据库做些手脚。
管理权限——作为一名SQL Server DBA,另一项重要的有关安全方面的工作是管理权限。这之所以非常重要,是因为通常数据都保存在数据库中,你不想让公司里的一般人接触到这些数据。例如有关薪水的资料。一名 SQL Server DBA需要为有这类数据的表分配权限。这样,只有被允许的人才能访问这些数据。
备份和恢复数据——这是作为一名SQL Server DBA非常可能遇到的重要工作之一。从某种意义上讲,任何一种数据库都可能损坏。除了做一些日常备份外,对此别无他法。当数据库损坏后,通常最快的补救措施是从一个备份中恢复数据。
调度任务——调度任务的能力是SQL Server最有用的特点之一。这使得任务能在你的用户不工作的时间里自动执行。这对运行备份、维护、批处理来说尤其有用。这些进程通常会抢先占用大量的服务,还会与你的数据库中活动的用户发生严重冲突。
数据的导入和导出——SQL Server经常要和任何地方的操作平台上别的数据库管理系统进行协作,从大型机到 U N I X服务器,到个人电脑的数据库。为了使协作顺利,就需要在系统之间移动数据。这种数据传输通常可能是一次性过程,也可能是日常性过程。
管理SQL Server复制——SQL Server复制是一个工具,用来把数据复制为几份,并发送到不同地方。作为D B A,你要设置并监视复制过程。
监视和调整服务器——SQL Server 7.0在服务器调整方面有许多优点。事实上,S Q L Server 7.0可以为你自动调整大部分选项。除非你想自己决定 SQL Server怎样使用资源。这是一项非常难做的工作,因为要配置太多的选项。在掌握了什么可以配置后,可以试着进行不同的设置并看看会对服务器的运行产生什么影响。
解决SQL Server问题——当SQL Server 出现问题后,你的第一反应可能会是惊慌失措。而当遇到的问题多了,你就会想到怎样去解决问题。通常,当解决完一个问题后,会发现又有新的问题等着你去解决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值