你做某件事的目的到底是什么
前几天有个网友咨询我想学习安装Oracle RAC,有没有资料。我当时建议他去认真阅读一下Oracle的官方手册,看懂后按照官方手册去安装。他下载了安装手册后觉得很多东西看得晕晕乎乎的,问有没有好的攻略。我还是建议他根据官方手册去学习安装。
第二天他告诉我,Oracle的官方安装手册写得很细,不过太复杂了。GI部分根据Oracle官方手册去部署,遇到了很多问题,太耗时了,于是Oracle RDBMS安装部分就从网上找了一份攻略,没遇到任何问题,很快就装好了。
我当时就问他:“你的目的是什么?是尽快装好一套Oracle RAC还是学会安装Oracle RAC,如果你的安装过程按照攻略,没遇到任何问题,那不是白学了”。后来我找出了2016年参加DTCC的时候的一份演讲材料发给他,这是我给当时正要进入Oracle DBA行业的新手们的一些学习建议。
我们的目的既然是学习,那么就不要图快,这种时候慢就是快。如果你使用攻略没有任何问题就完成了安装,并不说明你学会了,而是你安装数据库的环境和攻略上很相似,所以没有遇到任何问题就搞定了。就像有DBA说安装某国产数据库用了一周,而我安装这种国产数据库的时候只花了小半天时间。不是说我的水平有多高,而是我是在同事装过了这套数据库的环境中安装的,一些不匹配的因素我的同事都帮我趟过坑了。
十多年前的时候我接HP的一个外包工作,在HP-UX SERVICE GUARD上安装Oracle 10g RAC,当时10g刚出来,整个HP中国没有一个人干过这活,也没有任何可供参考的攻略。于是我认真阅读了Oracle的官方手册,在现场还是遇到了很多问题,不过依靠事前对手册的研究,大多数都被一点点解决了。最后在做root.sh的时候遇到了问题,做了多次都过不去。最后没办法,我只能把整个root.sh脚本的工作流程做了全面阅读分析,最终定位了问题。那次发现的一些问题后来被CTC收集到Coockbook里了。自从那件事以后,安装Oracle RAC就没有再遇到解决不了的问题了。因为对这套机制已经摸透了。
现在很多时候,我们想去做一件事情,不过光是埋头走路,从来不思考为什么我要这么走,于是走着走着,可能就忘了我到底想去哪里了。我们想去学习某种数据库或者某个技术,但是又怕麻烦,总想有捷径可以走。习惯了碎片化学习的朋友很难接受缓慢的系统化学习。快餐文化正对我们的学习环境产生致命性的冲击。
很多做数据库产品的朋友也是如此,搞产品的初期萌动肯定是有很高的理想的,想做点有挑战的事情,最起码也是要证明自己。不过上路后会遇到很多诱惑,也会遇到很多困难。生存的压力和利益的诱惑可能会让你忘记你上路时的初心,甚至忘记了你做这件事的最终目的是什么。这时候一定要十分谨慎,因为你如果完全抛弃了出发时的目标,那么新的选择很可能会给你带来完全不同的结果。