如何成就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的典型职责:
1 把监视数据库实例当作每日必做工作以保证其可用性。解决不可用的问题。
2 收集系统统计和性能信息以便定向和配置分析。
3 配置和调整数据库实例以便在应用程序特定要求下达到最佳性能。
4 分析和管理数据库安全性。控制和监视用户对数据库的访问。必要时审计数据库的使用。
5 监视备份程序。必要时提供恢复。测试备份与恢复程序。
6 升级RDBMS软件并且在必要时使用补丁。必要时升级或者迁移数据库实例。
7 通过数据库相关动作来支持应用程序开发人员。
8 跟随数据库趋向和技术。当可应用时使用新技术。安装,测试和评估Oracle新的相关产品。
9 执行存储和物理设计。均衡设计问题以完成性能优化。
10 创建,配置和设计信的数据库实例。
11 诊断,故障检测和解决任何数据库相关问题。必要时联系Oracle支持人员以便使问题得到较好的解决。
12 确保Oracle网络软件(SQL*Net, Net8, Names, OiD)配置和运行的很好。
13 与系统管理员(Unix & NT)一起工作以保证Oracle相关事务得到很好的处理。
14 为有效的,定期的维护数据库创建任何必要的脚本。
前面各段的问题是为了使你考虑一名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工作后,继续下面的部分来学习如何往下走下去。
阅读(1796) | 评论(1) | 转发(0) |