学Oracle三年了
光阴荏苒,猛然间发现自己学Oracle居然有三年之久了,许多感慨不由涌上心头。三年前从学校里面毕业后开始了找工作的过程,对于一个毕业于末流不知名
院校没有任何经验的应届毕业生来说,要想找到工作是非常难的,当时自己也是碰了不少壁。很偶然的机会,一个朋友向自己说起他们公司现在在招系统维护人员,
需要对Oracle有所熟悉,工作内容主要是维护用户业务系统及根据需要修改一些后台代码,让自己把Oracle学学,他可以帮着推荐进去。有这样的一个
机会,自己当然要争取了,于是买了书便开始看了起来。在学校里面学的是一个垃圾专业,专业名称听起来嚎头不小,学的都是杂七杂八的东西,数据库原理和
SQL语句都没学过。买了书从SQL开始学起,记得买的第一本书是希望出版社出的,当时希望出版社名声不小,出了很多计算机的烂书,现在这个出版社似乎已
经销声匿迹了。
当时也不知道哪里可以搞到Oracle的安装盘,只知道这个大名鼎鼎的在企业级领域广泛使用的数据库软件应该没那么容易整到,只好用Sql
Server来代练SQL语法。自己是个急性子的人,学了一个星期后就匆忙去应试了,结果可想而知,灰溜溜地失败回来了。其实那时候自己的理想是想成为一
名Delphi程序员,因为当时Delphi程序员需求众多,自己学过VB后对可视化编程有着浓厚兴趣,于是结合Sql
Server练起了数据库编程,把Oracle给扔了,还好SQL语法在学习过程中用得更加熟练了。记得当时看那本书过程中对PL/SQL有着浓厚兴趣,
书里面是一个书店的例子,通过存储过程实现进出货之类的功能,为数据库后台编程能够实现如此强大的功能而激动不已,心想一定要把PL/SQL好好学好。现
在想起来有些事情确实非常可笑,比如我当年费了不少心力学Delphi却一直没能成为Delphi程序员;想把PL/SQL学好却到现在为止还没真正写过
一个实现应用程序业务功能的存储过程;想成为专职DBA到现在一直不能如愿,虽然说现在的工作已经是比专职DBA更专职了;当年由于听说学Oracle难
度非常大,自己只是想能够应付简单的SQL开发就行,不想现在却是靠Oracle混饭吃。
在2003年的4月份,一个在软件公司实习的同学跟我说他们公司有Oracle安装盘,于是赶紧向他借来,弄到后马上在自己的硬盘留了份Copy,然后
便开始安装起来了。当时书上的安装图示是9i的,而那份Copy是Oracle817的,安装过程中颇费了不少周折。当时我的电脑配置较
差:CII566+VIA
693、128内存、20G硬盘,尤其是主板性能奇差,当时默认安装建库从中午11点多一直到下午1点共用了2个多小时才弄好。接下来我的学习开发环境便
由Delphi 6+SQL Server 2000转到Delphi 6+ Oracle
817,我也便真正开始踏上了学Oracle的路。这样边学边找工作,自己也慢慢有所进步,虽然说自己由于急躁很多东西都没学好,但毕竟有些基础了。终于
在五一后如愿以偿地进入朋友那家公司实习。
认识Itpub是缘于一位北信的同学,当时他知道自己学Oracle便向自己推荐了Itpub,显然biti_rainy对师弟师妹们的影响不
少,Itpub上也有不少北信的Oracle高手。由于当时自己的主要目标是成为Delphi程序员,经常是在著名的Delphi论坛大富翁上逗留,在上
面也经常看到如今在PUB上的老朋友5415和xzh2000,大富翁的离线包无聊时我是经常翻阅的,那时候5415在大富翁上已是声名远扬了,成名方式
就和后面他在Itpub上一样。Itpub只是上过一次后就再也没上了。
在朋友那家公司度过短暂的实习期后,接下就是毕业回校的日子。毕业后我便到了一家大型国有企业下属的信息中心独立出来运营的软件公司,负责系统维护。当
时相比其他刚进来的同事,我的Oracle基础算是比较好的了,部门同事还经常向我请教一些Oracle问题。工作过程中也经常会出现数据库的一些问题,
公司也没有所谓专职的DBA,我们就顺便边学边解决。我也在那时候开始在Itpub上注册了一个帐号,偶而潜水。
对Oracle体系结构真正有兴趣是从同事那里借来的一本清华出的《Oracle 8.0 for Nt
实用教程》(具体书名已忘),当时看到里面解释pctincrease参数后便觉得Oracle真是博大精深,居然还有这么多这么细节的东西,虽然那本书
上对那个参数的解释是错误的,但却培养了我对于理解Oracle原理的兴趣。在此之前我对书上所说的DBWR、CKPT、LGWR等东西是一头雾水,囫囵
吞枣地咽了下去。记得当时同事问我实例跟数据库的区别,我回答说实例就是数据库,就那么一回事,一下子消去了同事心中的疑惑,现在想起来真寒啊!在
2004年的年初我买了长这么大以来最厚最贵的一本书,便是清华社出的中文版Tom的《Expert
One-on-One》,书名叫《Oracle专家高级编程》。当时对里面解释数据库一致性的例子印象深刻,Tom用一个银行存取钱的例子来说明
Oracle如何保护数据库中数据的一致性,让自己一下子激动不已,从此便喜欢上了Tom用实例来解释的风格。那本书也是我的Oracle进阶过程中帮助
最大的一本书。可惜到现在为止我都还没把书看完,只是前面14章比较认真地看过,很多内容也都忘记了。当时的基础看那本书还是比较吃力的,我便暂时放了下
去。
在不断学Delphi却无法转成Delphi程序员后我便重新考虑起了自己的职业规划。当时觉得自己有一定Oracle基础,工作中经常需要维护
Oracle,上Itpub后也知道DBA的前景不错,加上当时Oracle考试半价的优惠政策,于是便决定考8i
OCP认证,全面向Oracle进军。在2004年的2月份做出这个决定后,便在PUB上留意起卖考试券的帖子。应该感谢PUB上的cyr1974,当时
从他那边买了5张考试券一共花了2000元,相比较而言我考OCP认证的成本应该算是非常低了。想想现在要考OCP需要原厂培训,我那时候幸运多了。
接下便是艰苦的备考过程。那时候每天早上8点开始上班后便是看Student
Guide,边看边做练习和笔记,那时候的工作比较轻松,8个小时基本上有6个半小时用于看SG和做练习,晚上吃完饭回住处后便打开电脑接着看书做练习,
一般会从晚上7点看到夜里1点左右,周末当然是全天看了。那是段相当艰苦的过程,由于时间紧迫,自己不得不赶进度,繁多的知识点让自己理解起来异常吃力,
好多时候便有放弃的想法,于是不断地提醒自己一定要坚持下来。便是在那时候从同事那拷来电影《肖申克的救赎》,我一想到放弃的时候就重复地看这部电影,相
比较电影里男主角的境遇,自己这点困难都吃不消,还算什么男人。于是在考OCP的过程中我第一次知道了什么是LMT和DMT;pctfree和
pctused的含义;什么是行链接和行迁移;Oracle中索引的结构,尤其是知道了bitmap索引;热备份和RMAN;Standby等众多知识
点。看的过程中主要是结合STS做练习,在考试前两三天开始做TK,然后不停地做题巩固知识点,考试也一门一门地顺利通过了。最后一门是网络,自己平时接
触较少,当时刚好又生病,很是担心了一会,终于在2004年4月30日考试券到期那天完成最后一门考试。
对于OCP这个话题有着众多的争议,很多高手由于考试的一些黑幕而对此嗤之以鼻。我个人的看法便是如果真正看SG并准备好的话,确实对Oracle水平的
提升有着非常大的帮助。PUB上不少高手都是从OCP走过来的,相信他们也知道OCP对当年他们入门时的重要性。在考OCP之前,我根本不会去看任何英文
资料,对英文资料有着很大的抵触情绪,看到英文的便略过,而在考试的压力下我不得不看英文SG,英文阅读水平也逐渐有了提高。考OCP时做的笔记我现在还
不时地翻出来看,以供参考。可惜的是Oracle后来为了保证OCP的含金量,推出必须参加一门原厂培训的政策,导致个人考试门槛的增高,限制了一些人的
发展。不过我想如果真要学的话,可以只考OCA证书就可以了,在考试的压力下培养学习的动力,然后再开始看文档逐渐提高。
考完OCP后自己的基础有了很大的提高,我抽空把SG再重新看了一遍,并整理了一下笔记。相比现在的懒散,那时候的自己是非常认真学的,是争分夺秒地
学。我甚至想别人在打球的过程中我又可以多学到多少东西,然后就是在办公室里面不断地做试验,只是那段时间身体却是弄得不大好。在准备OCP的过程中自己
收集了不少资料,当时正逢Itpub的Oracle电子文档版刚开张不久,我也把自己收集的资料上传给需要的朋友。那时候的自己在技术版块只是潜水,很少
参与讨论,只是在文档版发了不少资料。结果有一天收到雪狼的PM问我愿不愿意出任文档版的版主。毫无疑问,回答当然是愿意啦,为这事当时颇是激动了好一
会。担任版主后,我想自己大概是Oracle相关版块所有版主中技术最菜的一个,现在应该更加努力学习。相比2004年刚毕业一年时的自己,现在的自己已
经是堕落至极了。学习就是这样,“逆水行舟,不进则退”,这两年自己的技术水平长进非常慢。
努力总是有回报的,在2004年的6月份我在海峡人才网上看到一家公司要招DBA,给的条件也相当不错。联系后约定先兼职,当时自己的工作不是很忙,也比
较自主,偶而出去一两次都没太大关系的,于是便做了兼职。当时谈好兼职的薪水居然是工资的2倍多,自己第一次看到了回报。这样4个月后由于项目需求我不得
不辞职进入那家小公司,当时主要是看重可以专职做Oracle的机会,而且小公司自由度比较大,自己也是想可以比较容易实现一些自己的想法。在进入那家公
司后,客户要求OCP课程的培训。自己也顺便把9i
OCP的教程看了一遍,然后就给客户进行培训。给人培训其实对自己的提升是非常有帮助的,因为你不得不认真准备,毕竟培训过程中出现不懂的知识点是非常尴
尬的。可惜在培训之后便无所事事了,自己便在那时候开始多参与了PUB上的技术讨论。参与技术讨论的最大好处便是你把自己懂的东西讲解给别人听完后,你自
己的理解就更加深刻了。往往你偶然的一个回答别人又带出新的疑问,你就不得不重新测试验证然后再回答,这样几个轮回后你对这个知识点的理解就加深了,水平
就慢慢积累提高起来了。一旦没什么事后,自己便丧失了学习的动力,除了上论坛回答问题,看书比以前明显减少多了。那家小公司几个月后就发生了变故,老板的
儿子得了脑瘤,其他股东纷纷退股,老板也没心思做了,我也不得不重新开始寻找出路。
于是在2005年7月进入现在的这家公司,还是跟之前一样,担任Support。可能很多人想担任Support其实对水平提高非常有帮助,因为可以碰到
不同客户非常多的情况。不过我是没有碰到太多问题,反而由于担心出问题很多时候都是保守地在执行策略,平时又没有自己的生产库玩,很多知识点看过就忘了,
反而水平逐步在下降。自己也便开始放松了,长期放松的结果便是以前非常主动学习和工作的自己现在喜欢变得拖延和抵触了,于是这两年技术水平长进非常有限。
现在想想自己不应该这样放纵自己,不管怎么说,自己现在还是混这口饭的,就应该学好。以后应该把文档好好看看,多动手实验多做笔记,少怨天尤人。