Robert G. Freeman,Oracle顾问,曾编写了几本著作,包括《便携式的数据库管理员:Oracle》和《Oracle数据库10g 新特性》,了解作为Oracle数据库管理员涉及的方方面面。在下个月的IOUG
Live! 2005会议上,Freeman将会与作为新人,或者正在考虑成为新人的你分享他17年的经验,以下是SearchOracle.com对他的采访。
我们有些人想要成为数据库管理员。你能告诉这些人应该从哪里开始吗?
RGF:要进入这个领域比较困难。因为数据库管理员需要对一项至关重要的公司资产——数据负责,他们倾向于挑选那些有一定程度经验的人。然而,在另一方面来看,还有一些要求似乎要超过对经验的需要。在这种情况下,那些初级数据库管理员就有机会了。
通常,即使是初级数据库管理员也都有一些IT经验,不论是作为开发人员还是系统管理员。那么,对于新人来说,就要找到这样的一个位置来迈出第一步。如果你已经在一家使用Oracle的公司任职,那么就开始在你的公司内部寻找机会吧。例如,如果你知道你们公司将要开始一项与Oracle相关的大型开发项目,那么你就可以毛遂自荐到那个项目组去工作了。
自我学习也是一个良好的开端。用户事件,例如我的“university session at IOUG-A for beginning DBAs”,还有其他一些教育课程(例如Burleson
Consulting的课程),以及阅读都会帮助你找到一份Oracle数据库管理员的工作。
公司在考虑接受一个人承担数据库管理员角色之前,所需要的基本背景是什么?
RGF:对于一个新的职位,如果你以前没有两年的工作经验,那么将会有困难。此外,通常要求至少5年的IT经验。对于比较新的数据库管理员,如果你在缺乏经验的前提下把自己推销出去,那么OCP认证是必需的。几年以前,我知道至少有两个具有IT学位的数据库管理员毫无Oracle工作经验,只有很少的IT经验,但是拥有OCP。但是在今天这个年代我不认为你会看到这样的情况。
还有一些需要考虑的事情是,许多公司都已经雇用了有经验的数据库管理员,所以他们也许正在寻找拿较低薪水的初级的管理员,来做一些基本的监控等工作。通常这些公司会从内部雇佣。这也是那些想成为数据库管理员的人们期待的一种机会。短期的薪水不是最好的,你能获得的经验才会最终带给你获得资深的数据库管理员所要求的薪资的机会。
认证值得新入门的数据库管理员去努力吗?
RGF:我认为它没有坏处,它也是一项很好的练习。有一些人认为它是无意义的,只是一项记忆的练习。最终,它会强迫你收集一些有关Oracle的信息,并且你会学到一些东西。它不能替代经验,但是总好过什么都没有。
学习管理Oracle数据库的最好的方式是什么?
RGF:学习如何管理Oracle数据库的最好的方式是:
1、找一位导师,他了解Oracle,并且知道如何指导别人。我在一开始应用Oracle 的时候,有一位非常好的导师,他让情况发生了完全的改变。
2、培训是有益的,但是我建议你在参加培训之前,坐下来,使用Oracle一段时间(创建一些表、一些用户,学习一些基本的SQL)。
3、阅读,阅读,阅读大量的书。加入Oracle有关的论坛和新闻组,每天阅读它们。例如,论坛有www.dba-oracle.com, www.quest-pipelines.com,
Oracle-L 和 LazyDBA,它们都会在每天的基础上提供给你有见解的学习。
4、用户组会议,例如IOUG-A,,对于学习过程非常有价值。在这样的环境中,你可以向大量的人学习有关大量的主题的内容。此外,你还可以参加课程,例如我为数据库管理员起步设置的课程,对于学习Oracle最有帮助。
5、最后,不要相信你听到或者读到的任何东西,实际上,不要相信你听到的任何东西。Oralce没有绝对。每个系统都是不同的,做事情都有不同的方式。不要给你的思想画一个永远不会改变的框,因为它不会让你成为最好的数据库管理员。有一些最好的实践方案,和标准,都有一定程度的绝对性,但是对于大多数来说,它们都是可以改变的,是依赖于环境的。
有没有可能在不在职的情况下,学习在职的数据库管理员任务?
RGF:有可能学习在职的数据库管理员任务,但是实际的问题是,在没有机会练习的情况下,你能记住你学到的内容吗?工作是关键的,因为数据库管理员所作的很多工作都是独立的思考,然后解决不寻常的问题。有很多的技术和不同的复杂性。这也是在严格的学习环境中很难获得的经验。
数据库管理员新手第一次开始使用Oracle工作的时候,最先面临的几个问题是什么?
RGF:这依赖于它们是否具有数据库的经验。如果没有经验的话,遇到的第一个问题就是,我从哪里开始?例如使用SQL ,SQL*Plus是基本的关注点,直到你开始真正地与数据库开始对话,那么就没有那么多事情需要做了。
如果是从前使用过SQL进行编码的开发人员,拥有一些SQL*Plus的经验,那么更多遇到的问题是“我如何完成要求我做的事情?”然后就是关于如何创建用户、表、权限的讨论,以及一些开始工作的基本信息。
若是资深的数据库管理员,通常遇到的第一个问题就是,“Oracle账户密码是多少,SYS密码是多少,卫生间和可乐机在哪里?”这就是新手和资深的数据库管理员之间的差别。资深的数据库管理员有时间去卫生间和可乐机。
新手最常犯的错误是什么?
RGF:认为对于某个问题有一个答案。然而一个人经常使用的标准有多个,通常情况是,某个问题的答案依赖于这个问题。另一个常见的错误就是在一段时间之后认为你知道了所有的事情。当你认为你知道了所有的事情之后,就是你真正开始认识到其实你什么都不知道的开始。经常重新思考你看问题的方式,针对业界专家提出的意见思考你的实际情况。经常问问自己,你对事务的看法是否过于封闭。在我看来,有人付钱给数据库管理员就是让他们思考,这需要一个开放的思维。
新数据库管理员开始工作之后首先要做的事情是什么?
RGF:
1、立即着手。你需要学习所有东西,做所有的工作,消化所有的内容。既然你获得了数据库管理员的工作,现在就不是你在新椅子里面休息、享受你的成功的时候。列出你的目标和你想要学习的内容。做一个五年计划是个不错的主意。
2、倾听!提问!参与!不要靠着椅子背等待有人要求你创建表。
3、涉及理论的时候,不要相信你听到或者读到的任何东西,除非你已经自己试过了。在我看来,数据库规则就是任何时候都不要照搬书本。
4、如果你独自负责数据库,做非常把握的事情,在你结束第一天的工作之前,确保你的数据库可以恢复。如果你不能找回数据库,那么没有什么其他事情比这个更重要了。
5、记录下所有的事情。
6、学习使用你的权力。你是数据库管理员,这个数据库是你的职责。当你学习做事情的正确的方式和错误的方式(例如说数据库设计),你需要提出最好的实践方案和好的设计。如果你成功了,你可以享受成功的喜悦,如果他们没有听取你的意见,那么你会获得“我告诉你这样”的快乐。