DBA.docx
- 文档编号:30650347
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:20
- 大小:35.55KB
DBA.docx
《DBA.docx》由会员分享,可在线阅读,更多相关《DBA.docx(20页珍藏版)》请在冰豆网上搜索。
DBA
DBA(数据库管理员)职业规划
步骤#1:
关系型数据库理论–这部分我假设你将管理的数据库是一个“关系型”数据库。
其他数据库模型也存在,但是关系型模式是近二十年工业上占统治地位的一种数据库模式。
假如你的数据库系统是其他的模式,那么学习它的理论。
相关数据库理论是十分重要的。
它是其他一切的基础。
我也看到许多跳到数据库管理职位的人从不想去学习纯粹的关系型数据库理论。
不可避免的,在他们的事业中对理论基础的匮乏作为缺点暴露了出来。
假如你对关系型数据库理论理解得很好,那么你将非常容易的在任何平台的关系型数据库管理系统(RDBMS)中转变。
我使用Oracle数据库,或者IBM的DB2,或者微软的SQLServer是无关紧要的。
他们都是关系型数据库系统。
他们在最底层都在做着相同的事情。
区别在于他们怎样去做相同的事情。
纯粹的关系型数据库理论对于较低级的DBA来说并非必需的。
但是假如你想要超越低级DBA的水平它就是十分重要的。
许多大学的教科书都很好的包含了关系型数据库的理论。
其中一本被广泛使用的教科书就是由ElmasriandNavathe编写的数据库系统基础,Bejamin/CummingsPress。
步骤#2:
彻底的学习查询语言–数据库都有语言让你能够从数据库中得到数据,把数据放到数据库中,以及修改数据库中的数据。
对于关系型数据库而言,这种语言就是结构化查询语言(SQL)。
这门语言是你与数据库接触的工具。
不能让这个工具成为以后学习的障碍,这一点很重要。
在你的测试数据库中练习不同的SQL语句直到他们变成了你的习惯。
这方面的一本非常好的书叫做Oracle9i完全参考(Oracle9iTheCompleteReference)由Loney和Koch编写,OraclePress。
每一名OracleDBA都应该在他事业的早期阅读这本书。
Oracle9i参考手册(Oracle9iSQLReferencemanual)是另一个很重要的知识来源。
在他们的技术网站TechNet上()你可以访问所有的Oracle在线文档。
你必须注册一个账号,但是它是免费的。
每个都应该在TechNet上有一个账号。
步骤#3:
开始学习基本的数据库管理工作–这难道不是你最开始在这里的原因?
为什么它在列表的第三位?
我们尝试着建造一个知识的金字塔,我强烈的感觉到一个人需要知道关系型数据库理论和SQL,并且在你学习如何进行基本的数据库管理工作时把他们当作工具来使用。
这些工作包括启动和关闭数据库,备份和恢复数据库,以及创建/删除/修改数据库对象。
对于Oracle数据库管理而言,在市面上有大量的书籍可以给你所期望的一个很好的体会。
这本书是Oracle9iDBA手册(Oracle9iDBAHandbookbyLoneyonOraclePress)。
我知道的大多数DBA都在他们事业的早期不只一遍的阅读过这本书。
这里,你应该同时阅读和理解Oracle9i概念指导,Oracle9i管理员指导,以及Oracle9i备份与恢复指导(Oracle9iConceptsGuide,theOracle9iAdministrator’sGuide,andtheOracle9iBackupandRecoveryGuide)都来自Oracle文档。
步骤#4:
阅读,阅读,再阅读–由于你才刚开始你的DBA职业生涯,因此你正在开始为你的技能奠定基础。
这需要一段很长的时间去形成,吸收和领会所有你将学到的知识。
毫无疑问的,比你资深的DBA由许多工作要做,因此他们可能不会总是腾出大量时间辅导你的学习。
你不得不靠自己学习很多东西。
这就是阅读的目的。
市面上有许多书籍可以解答许多数据库相关的话题。
OraclePress是Oracle公司的官方出版社,有大量的Oracle相关书籍。
同时也有其他的出版社,如WroxPress和O’ReillyPress。
你也可以找到Oracle文档来阅读。
并且还有许多网站和新闻组。
尽可能多的读书使你能够继续下去。
还有,不只一遍的阅读它们可以使你吸收你第一次阅读时错过的内容。
步骤#5:
创建测试案例–我经常看到初学者问一些很基础的问题,其实假如他们花一些时间来考虑,这些问题都是很容易解答的。
毫无疑问的,在你开始学习Oracle的时候你会有许多的问题。
看看这些问题你能不能自己回答出来。
例如,我又一次被问到能不能向有唯一性约束的列中插入空值。
最开始,这看上去也许不是很容易回答的问题。
但它却是非常容易去试验的!
只需要创建一个简单的表。
在其中的一列,假如唯一性约束。
尝试着在该列插入一个空值。
有效么?
你应该能够非常容易的回答出这个问题了。
那么,为什么要创建这些案例呢?
一个原因是这样做可以提高你解决问题的能力。
创建这些案例需要的技能就是解决问题用到的技能。
解决问题的技能将会对你的DBA事业有很大的帮助。
另一个原因是随着你的事业的发展,你将经常需要创建更复杂的测试案例以便保证数据库和应用程序的成功。
在将来,甚至简单的测试案例也可以组成更复杂的数据库和应用程序分解。
步骤#6:
找一个良师–一个良师能够为你的DBA生涯(或者其它类似的职业)引领方向。
他们能够给你指示,回答问题以及在你的DBA的成长过程中帮助你节约一些时间。
但愿这篇文章能够在你事业发展的一段时间内起到良师益友的作用。
假如你与一名资深的DBA共同工作,那么那个人应该有责任为你的事业进行有益的指导。
你也可以同时选择其他的人指导你。
步骤#7:
参加本地用户群–许多跨国家的城市有本地用户群,他们定期聚会讨论数据库相关的话题。
假如可能,参加其中一个本地用户群。
这将给你一个与他人相互交流的很好的方法。
我如何能够从一名DBA初学者变为一个具有中级水平的DBA?
你已经成为DBA一段时间了,你现在希望你的技术水平提高一阶么?
下一步该怎么做?
首先,往回看前面的部分,确认你已经完成了所有的步骤。
彻底理解SQL语言是十分重要的。
理解关系型数据库理论和掌握基本的数据库管理任务也是非常重要的。
到如今,你应该阅读文档和其他书籍到已经郁闷了。
假如没有,那么你还没准备好继续深造,增长你的DBA的技术水平。
假如你已经准备好继续了,我已为你的继续深造准备了一些方法。
步骤#1:
学习操作系统和你的服务器硬件–正如我前面所说,数据库存在于操作系统和服务器硬件之上。
理解这些组成部分如何工作是很必要的。
你应该知道如何与特殊的操作系统相合。
你如何删除或者编辑文件?
假如你的操作系统是Unix,你应该掌握命令行以及Unix命令如何辅助你工作。
对于运行在Windows或其他操作系统上而言也是一样的。
你同时需要对服务器的硬件有一定的了解。
物理内存和虚拟内存有什么区别?
RAID是什么以及不同的级别是如何产生影响的?
为什么数据库喜欢更多的物理硬盘而非一个大硬盘卷?
你需要知道这些事情以便你能够容易的与系统管理员进行如何配置好你的服务器以便使它能够充分的支持数据库方面的交谈。
步骤#2:
学习应用程序设计因为它与数据库相关–如前面所述,数据库存在于操作系统与数据库应用程序之间。
你真的需要这两者。
SQL语言是如何帮助创建好的应用程序的?
绑定变量是什么并且为什么他们很重要?
TomKyte写了一本非常好的书,在Oracle应用程序设计上给出了很好的建议。
他的ExpertOne-on-oneOracle书可在WroxPress找到。
我强烈推荐阅读此书。
他详细的叙述了那些能够生成和破坏Oracle应用程序的东西。
你需要知道这些,因为你的应用程序开发人员希望从你这里得到指导和数据库知识。
学习任何与应用程序设计有关的知识。
也许参加一个关于软件工程,操作系统或数据结构的课程班会有好处。
步骤#4:
取得认证–也许你的工作并不需要,但是取得认证一定对你有益。
作为DBA的每一天里,你学到了许多新的和令人激动的事情。
也许在你职业生涯的这段时间里,有几天你没学到任何新的东西。
但你仍然有很多要学习。
成为一名OCP(OracleCertifiedProfessional)DBA要求你必须已经学到了数据库管理所有方面的基础。
我发现在OCP考试的学习过程中,我学到了在我工作中从未接触过的东西。
一次我学到了我从未碰到过的一个特殊课题,在后来的日子里我就能够使用那个知识解决问题。
假如我从为在OCP考试中学倒它,那么我永远也不会用那种特殊的方法去解决问题。
这已经一次次的发生在我的面前。
有的人可能会说认证实际上真的不值得。
我要说它只会对你有益无害。
所以,去取得认证吧!
步骤#5:
获得一个资源库–在前面的部分中,我指出每个DBA都应该在Technet上有个账号。
这是你其中一个主要资源。
但是同时还有许多其他资源。
很多人共享他们的Oracle知识。
假如你还没有开始,你应该用网络浏览器去搜索并收集很多Oracle资源。
愿意的话,你可以从访问我的网站()开始。
下面是一些OracleDBA必须了解得网站列表:
?
AskTom–
?
JonathanLewiswebsite-http:
//www.jlcomp.demon.co.uk/
?
Ixora(SteveAdams)–.au
?
Orapub–
?
Metalink(Oracle支持网站)–
还有许多其它的好网站。
步骤#6:
开始在不同的新闻组和论坛上交流–也许你已经发现了他们,但假如现在你还没有那么是时候去开始了。
有许多的新闻组和论坛可以回答你的任何Oracle问题。
在Oracle群落里还有许多高手愿意和你共享他们的知识。
你所要做的就是提问。
下面是一个列表包含了可以开始交流的最好的因特网团体:
Usenetnewsgroups–comp.databases.oracle.server和comp.databases.oracle.misc是两个可以交流的非常著名的世界性的新闻组。
他们拥有大量的针对Oracle问题的交流卷宗。
观看这些组的最好的方法式使用新闻广播员。
但是假如你想通过基于web的方式访问,也可以通过Google搜索引擎搜索它。
(...mp.databases.oracle)
QuestPipelines–当他们在最开始还属于软件提供商RevealNet的时候,被称为theRevealNetPipelines。
现在,Quest购买了RevealNet并且拥有Pipelines。
因为Pipelines是中等的,所以这些是我最喜欢的。
你可以在这里找到Pipelines(http:
//www.quest-
观察别人是如何经历考验和磨难的是一件好事。
假如你有问题,可以自由的在群里提出来。
假如你要提出问题,通常应该包括一些信息,比如你的Oracle版本和Oracle运行的平台。
这些将会得到有很大的差别的答案。
假如你忘记了,会有人提醒你!
甚至你不用提问也可以从其他人的答案中学到许多知识。
我已经记不得多少次我之所以能够解决问题完全是因为我记得其他人在新闻组里问过相同的问题。
我如何从一名具有中级水平的DBA转变为一名高级DBA?
好,作为DBA你已经坚持不懈的努力了很长时间。
你感到自己已经准备好往前再走一步。
成为一名高级DBA需要什么?
下面的部分将帮助你走下去。
步骤#1:
阅读所有的文档–Oracle文档通常并不是很容易阅读的。
无数次,你翻阅文档只是为了要弄清整件事情。
假如文档是最好的东西,那么那些站在你的书架里的Oracle书籍就不会有市场。
但是文档确实包含了一些无法在任何其他地方找到的信息。
例如,你无法找到每一个专门的INIT.ORA参数或V$视图的详细说明。
书本上也许会涉及一部分,但是Oracle文档却包含它们所有。
我遇到过一个非常厉害的高级DBA,他没有从头至尾的阅读过Oracle文档。
这不是偶然的。
Oracle文档是必须阅读的。
也许到现在为止你已经读过Oracle概念指导十二遍了。
但是当Oracle10i发布了,你还要再次阅读。
任何有关10i的新概念将在文档里记录。
假如你真的想更上一层,那么,去阅读那些文档。
不要逃避它。
步骤#2:
成为一名专家–Oracle数据库是一个非常复杂的东西。
为了更上一层,你必须精通产品的许多组成部分。
以备份与恢复开始。
成为一名备份与恢复的专家。
故意的破坏数据库然后察看如何恢复它。
尝试以任何可能的方式破坏数据库然后查看还有没有可能恢复。
你将彻底的理解备份与恢复的概念。
在你成为了备份与恢复的专家以后,再去成为其他领域的专家。
你会有无穷无尽的题目要去掌握。
在你整个职业生涯中都保持如此。
但是请记住,无论你有多么专业,在某些领域,某些人会在某些方面知道的比你多。
不要带个人情绪。
只是尽可能多的从那个人那里学到知识。
步骤 #3:
积极参加新闻组,论坛和用户组–在前面,我提过为什么不同的新闻组和论坛是学习新知识的很好的地方。
现在轮到你进行下一步并且去回答任何你能够回答的问题。
你将会惊讶于在这过程中你能学到那么多!
步骤 #4:
写白皮书并且展示它们–这与前面提到的方法类似。
首先,共享你拥有的知识是很重要的。
假如你的职业生涯已经走到这一步,那么从某种意义上讲,是离不开他人的贡献的。
所以,现在是你为他人奉献的时候了。
第二,当你企图共享你的信息的时候会有令人惊异的事情发生。
在你要用清楚的,简练的语言表述问题以便其他人能够使用时,那些信息在你的头脑里经过了一个令人瞠目的过程。
这个过程使你巩固了知识,这是无法通过其它方法进行的。
所以在白皮书中共享那些信息,讨论会,以及新闻组和论坛都是你学习和使你的能力更上一层的非常好的方法。
顺着这条路,你应该作两件事。
第一,认识到你将会犯错误。
其他人将会很高兴的指出那些错误,有时在某种意义上那并不是很好。
不要企图掩藏你的错误。
承认它们并从它们那里学习。
第二,学会说你不知道答案而不是企图以欺骗的方式通过。
人们早晚会知道你在企图蒙蔽他们。
简单的告诉他们现在你对答案并不肯定,但你会在查到答案后回来告诉他们。
假如你时刻谨记这两件事,你就不会违背你的诚实而且你将成长为一名职业的IT人。
步骤#5:
成为解决Oracle问题的专家–高级DBA通常都是被看作是解决复杂的Oracle问题的人。
你将会用到你所有的技术来解决许多问题,这些技术都是你的职业生涯中积累下来的。
我前面提到的任何事都将会在解决问题的过程中用到;文档,书籍,新闻组,测试案例,和其它DBA都将辅助你解决问题。
步骤#6:
成为性能调优的专家–高级DBA通常都是被看作是调整数据库和应用程序性能的人。
假如你是高级DBA但是你却不能分析性能瓶颈,那么你的公司将会到别处寻找这些服务。
步骤#7:
成为承载能力计划的专家–高级DBA通常都是被看作是根据数据增长量和交易增长来计划数据库承载能力的人。
高级DBA需要在影响应用程序性能以前发现系统瓶颈。
例如,DBA应该知道在数据库将可用的磁盘空间用完以前预置更多的磁盘空间。
不密切关注承载能力计划将会导致生产数据库宕机。
步骤#8:
密切关注新的技术–高级DBA应该对IT界的关数据库技术的未来有好的建议。
有什么可用的技术可以帮助数据库?
例如,学习存储领域网的优缺点以及如何把它们应用到数据库系统。
有什么技术在不远的将来可以用,哪些能够帮助我们?
例如,写这篇文章的时候,linux操作系统正在变得越来越流行。
Lunix会给你的数据库操作系统平台带来些什么?
它能为你的公司工作么?
结论
从获得第一份工作,到从一名初级的DBA成长成一名高级DBA,我希望这篇文章在如何度过你的职业生涯的各个阶段方面给了你一些建议。
无论你现在处在你的DBA职业生涯的哪一阶段都可以用到这篇文章。
数据库管理员DBA的职业生涯规划
8个步骤讲述DBA的职业规划,助你成就高级数据库管理员。
生涯设计公益网()职业生涯规划专题组推荐。
DBA职业规划八个步骤
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是随时侯命的。
他们会在白天或晚上的所有时间接到呼叫去解决他们的数据库出现的致命问题。
数据库是商业信息技术基础组织的必不可少的组成部分。
没有数据,就没有必要拥有一个计算机系统。
数据推动商业。
假如的网站不能在数据库中搜索产品并且假如没有人能够为他们的产品下订单,那么它会变成什么样?
它就不会在商业中存在很久。
当数据库down掉,即使只是很短的时间,公司也会损失重大。
基于这个原因,DBA到达现场后必须尽可能迅速的解决问题。
许多公司有自己的DBA团队以便可以轮流待命。
这些DBA24x7小时的维持数据库应用程序。
假如工作需要的话,你准备好随时候命了么?
一些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经验的人比以前容易得多。
在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DBA