日期:2014-05-16 浏览次数:20439 次
最近考证的人比较多,很多人问我该如何获得自己的第一份dba工作,我简单的说了说我的理解,和大家分享一下:
看似是找一份简单的工作,其实这是个不小的问题,我觉得这是个入行的问题,不简简单单是个入门的问题,谈到入门我们经常提到的是oracle的学习方法等问题,如何快速入门,不同的人学习方法不同,总之离不开勤奋,除了勤奋还得要有兴趣,没有兴趣不可能坚持太久,因为学习oracle是个长期的过程,谁想弄个几个月就想收到成效,甚至说的直白一点就想挣钱这其实不太现实。另外没有兴趣的话也不可能做好一件事,更何况要长期做一件貌似很枯燥的事,所以说要选择dba这个职业,那么我觉得首先的入门,连门都没入就想入行,这是不是有点太轻视这个行业了,我一直觉得dba象个老中医大夫,越老越值钱…另外dba的工作主要还是和数据打交道,数据是企业的命,谁会把命交给你随便玩呢…
入门的问题不多说了,互联网开放到今天,网上的资源已经很丰富了,就看我们能不能摆正心态,静下心来仔细琢磨了…
Oracle是个位于整个应用系统中间层面的系统软件产品,下面有os、storage,上面有应用软件,当然贯穿整个环境的离不开网络,那么对应的职位有系统工程师(主要从事os,storage工作的),有dba,有和软件相关的设计人员、开发人员、架构师等,最后还有网管。做为我们首先要清楚自己目前的工作角色是什么、自己目前掌握的最有力的技术是什么、它和oracle有多大关系,比如你是网管,那么我觉得它和oracle貌似一点关系都没有,如果网管想转做dba,其实又回到了入门的问题上…先入门;如果你是个系统管理员,那么我觉得转做dba有一些优势,因为oracle再庞大、再复杂它也的跑在系统上,另外oracle的很多原理最后我们发现其实都是操作系统的原理,比如oracle的最小io单位是block,最小空间分配单位是extent,那么os其实也是这样,就拿windows来说,他的最小io单位是扇区,也就是oracle doc里常说的os block,那么分配空间的单位其实是簇;如果是从事软件开发、设计、架构方面工作的想转做dba也有一些优势,因为毕竟oracle也是个软件,很多东西在实现上可能会有相似的东西,比如oracle的专用连接模式其实就和c/s结构很相似,共享连接模式和b/s结构很相似。这样如果大家能有一些实际工作经验再加上平常或多或少用一些oracle,那么转dba其实可能不是件太困难的事情,当然如果你的工作平常可以交叉到上面我提到的各种角色当中去,那么静下心来仔细研究一段时间oracle,最终从事专业的dba它不是梦…事实上一个人工作几年之后也不可能在工作中只从事单一的工种,交叉会很多,除非这个人能力确实一般…
做为dba来说,他们实际工作当中有多少时间是天天在处理故障呢,其实没有,他们天天做的工作可能都是一些最基本的监控和维护,甚至是打杂,包括开会以及和其它很多部门在协调工作,说的难听一点可能是扯皮…比如创建一个index,这听起来是一个及其普通的工作,可是如果在一个7*24小时的高可用系统的一个频繁访问的大表上创建的话,那么我们就不得不考虑index在创建的过程中对应用所产生的影响,归根到底考虑的问题还是要回到锁的兼容性问题…所以很多人也常在pub上问起dba每天都忙些什么,其实都是些很多琐碎的工作,但是这些琐碎的工作背后可能隐藏着很多风险,这样要求我们每一个dba都要有扎实的功底(说这话并不代表我自己就有很扎实的功底)。记得有一个哥们一次在qq上问我要truncate 一个100多G的表如何估算一下时间,也就是大约需要多久,我说一个具有2行数据的表需要多长时间,他差不多可能也是这个时间…他不太相信,问我原理,我告诉他我理解truncate其实就是更换了一个data segment,其实本质上是修改了数据字典,100g的数据oracle没做任何访问和调整…最后我建议他自己构造一个几g的表truncate看看时间…
说了这么多,其实最终还是告诉大家要时刻坚持学习,首先的入门,如何算入门呢?我是这样认为的,不管你如何学习,是自己看doc呢,还是有机会找个培训机构呢,还是在pub上天天看别人的问题自己琢磨着回答呢…总之开个blog或者space,把自己的学习心得和体会能分享给别人,这样做一是可以加深自己对问题的理解和体会,另一方面别人看了也会给你很多建议和意见,哪怕是非常尖锐的、甚至你认为是伤到你那点可怜的自尊的评论,不妨都把它先接收下来,就把他看成是对自己的鞭策和鼓励,一点一点的积累,等最后你会发现pub上可能有很多牛人在不经意间早就已经注意到你了,这个时候相信你的机会就多了,这个我是很有体会的…到这个时候估计差不多也就入门了,那么离入行也就不远了…这里我提到的都是技术入门和入行,有那么一天你会发现自己需要在商务上入门和入行…这个暂时不说了…
最后我不得不说一说刚毕业的学生该如何进入这个行业,一般院校刚毕业的学生现在找工作都很困难,要直接从事dba我觉得难度还是比较大,尽管很多人可能考了证书,但是证书就是证书,最终还是的看实力,刚毕业的学生就是想从事dba的话,我觉得不妨考虑一些大的公司,向阿里巴巴这样的公司可能每年都有给应届毕业生一些机会,他们会从头培养,这个当然和企业文化有关,很多公司可能都希望招聘能独当一面的dba,这就是所说的工作经验。对于我们没有工作经验的弟兄,不妨先曲线救国,找合适的机会转过来,就像我上面提到的那样,那么我是如何从事dba的,说来话长,简单的说也是转过来的,我做了近3年开发,先转了sql server dba,后来一个偶然的机会在hisoft公司开始接触oracle