玩Oracle也快2年了,一直都是在整理Oracle的相关技术文章,以前是学J2EE的, 也专门的去培训机构培训了一年,那时是一门心思的认为就搞开发了,可后来的事实证明我还是与Oracle更有缘一点。
记得2008年刚找工作那会,一家公司招Java工程师,我到公司不久,项目却没了,因为公司还有数据库的业务,所以我就转像数据库了。当时对Oracle 是一点了解都没有, 只知道它是一个大型的数据库。 也许是搞开发太久了,一开始搞的时候还十分的不愿意, 总觉得DBA 没有开发有前途。 后来慢慢的发现,其实相对而言DBA 更好一点。 因为开发不能搞一辈子,30岁之后肯定要转型。 而DBA确是工作时间越长越吃香。
开始是跟着Roy 玩MSSQL 2005, 玩了大概3个月的时间,基本就是安装,检查备份情况,偶尔搬迁一下数据库,帮其他同事执行下SQL。 后来就是玩Oracle了。 当时维护的是美国那边的数据库,所以当时面临的2方面的压力,一是技术,二是英语,大二上学期把英语四级过了之后,英语基本就丢掉了。 所以当时的日子很艰难,不过现在来看,还是要感谢老板John。 John一直待在美国,干了近20年的DBA。 要不是遇见他,我是不可能走上DBA 这条道路。 要不是他的压力,我也不可能进步的这么快。 后来还是因为某些原因,离开了公司。 这也是我的第一份工作,但正是这份工作,让我成了DBA,让我对Oracle 入了门。 这是一个漫长的过程,应该有7个月吧。 具体花了多长时间入门,现在也记不清了,只是学到后面,脑中就清楚了,对Oracle 有了个整体的框架,所以学起来自然就快了很多。 所以 Oracle 难,就难在入门。 如果不勤奋点,一年也入不了门。
我个人认为,如果一个DBA 在成长的过程中,没有宕过数据库, 也不算的完美,一个人的成长的过程总是曲折的,太一帆风顺了,不见得是一件好事,当遇到问题时就会手忙脚乱,这是DBA的大忌,作为DBA要时刻谨记: 胆大心细,遇事不慌。 因为在遇到突然事件,比如数据库宕了,这时候,全公司的所有人都会把目光放在你的身上。 那时的压力是非常大的,只有经历过这种场面人,才能镇定的解决问题。 因此也就有一种说法,DBA的压力大,短命.
结合我这2年来对Oracle 学习的总结,有一条经验很受用: 多做实验。 我看了很多的书,做了大量的实验,花了很多的时间才有了今天的知识积累。 可能有网友认为我是高手,其实哪来什么高手,只是他们遇到的那些问题我比他们提前遇到了,并且我解决了。 还有就是被高手了一下。 Oracle 是一个庞大的体系。 里面有很多的知识片。 有的知识我也不知道,当他们问我了,我研究了下,明白了,然后在告诉了其他人。 所以说在帮助别人的同时,自己的技术也上升了。
下面对Oracle 体系做个简单的说明,大家在学习的时候按照这个步骤来,就不会走弯路了。 这个也是我的个人的心得。
1. 了解Oracle 的组成,掌握Oracle 由哪些文件组成,每个文件有什么作用。
比如:
密码文件,控制文件,redo log, 数据文件, alert log,SGA 组成, PGA 组成。
只有了解了这些定义,和他们的作用之后,才能在大脑中对Oracle 形成一个框架。 这个很重要,如果说玩了几年的Oracle ,都没有这个框架, 那么就是杯具,因为还没有入门。 这个框架就是Oracle 的入门标准之一。
2. 掌握Oracle 的常用技术
Oracle 的常用技术就那么多,我罗列出来:
1) windows / linux / Unix 平台下的安装,卸载。
2)冷备与冷备的还原
3)逻辑备份与还原
4)RMAN 备份与还原
5)数据搬迁:可用逻辑备份或者RMAN来。
6)添加表空间
7)高可用之 Data Guard 安装与维护
8)高可用之RAC 安装与维护
9) 数据库性能诊断与调优
作为一个数据库管理员,掌握以上的知识就可以在公司独挡一面了,当然还是要经验的积累,多做实验,有些知识点可能开始不好理解,但通过实验,就要好理解很多。 我的Blog 里也有很多的资料, 都是我边学边整理的(http://blog.csdn.net/tianlesoftware). 如果有时间的话,我也会录一些视频放在网上,毕竟通过看视频学的话要块很多。
最后补充一点,一定要提高自己解决问题的能力。 遇到问题我都是google的,我装的第一个RAC 整整用了5天,当时是多么的痛苦。 其中有一个错,我就用一天的时间来google。 现在我建了QQ 群,大家共同的学习,就是希望大家少走弯路。 但有时候就感觉依赖性太强了,为什么不自己google 一下呢, 自己去解决,自己解决了,就理解了,就会永远记住了,我和你说了,这次会了,但不一定理解了,不一定就记到心里了。 DBA 要么不犯错,要么犯的就是大错。所以基本功一定要扎实,要养成良好的习惯,数据库每天都要备份,在对数据库做大的动作时,也要备份。 还有就是遇到问题要沉着冷静,要能独立的去解决问题,这有这样才能快速的成长。 就像 Oracle 大师 eygle 所说:随着技术以及时代的不断进步,社会留给DBA的成长时间越来越短,一个DBA从入门到成长为资深的时间不会超过2年.
原文:http://blog.csdn.net/tianlesoftware/article/details/5448689