五一节前,在墨天轮首页看到了有关认证备考的主题,掐指一算,距离我在恩墨学院学习备考OCM已经过去了整整十年。即便过去已经10年,这段经历仍然是我职业生涯中印象非常深刻的,21年我还写过一篇认证的文章《2021年都快过去了,考数据库认证还有意义吗》。很想借此机会,将我OCM的备考经验,分享给大家。
备考前
考试目的
考认证是一件要付出时间成本和金钱成本的事情,在决定考认真之前,请仔细思考几个问题:
- 考认证的直接原因是什么?
- 如果没有这个认证会对你有什么损失?
- 如果有了认证仍然没有收益,你会不会心理落差?
在思考你自己的答案的同时,我也将我当时的答案放在这里,给大家参考:
- 我在决定备考之时,是刚入行两年的菜鸟DBA,如果想要涨薪、跳槽,有一个认证是一个能够证明自己能力的方式。
- 如果没有这个认证,可能有些面试不会得到机会,得到机会的面试可能薪资可能会打折扣。
- 会,我会觉得自己付出了时间和金钱,没有得到自己预期的结果。不过我会想办法让自己心态平衡好。
如果你已经得到了自己心中的答案,在目的、用途和心态三个方面都有了明确答案,那么可以阅读下一章节了。
备考中
制定计划
在考OCM之前,务必要先去了解了整个OCM考试的要求和流程。从0开始,OCM考试大致分为三个阶段:OCA、OCP、OCM。前两个阶段的考试只需要做选择题即可,而OCM是需要连续两天的上机考试。OCA不需要参加培训,OCP需要和OCM都需要参加,可以是官方培训,也可以是第三方的WDP培训。如果比较顺利,从0到OCM通常可以用1年的时间完成。
OCA阶段
OCA阶段我建议最少有1年的全职Oracle DBA工作经验,再去考认证,一方面有实际工作的经验,对于数据库的基础知识和运维管理有了具体认知;另一方面,在学习的过程中,知道自己的短板,可以把时间放在自己更需要强化的地方。甚至在你有了一年以上的全职DBA工作经验后,都可以自学OCA的内容:一门SQL语言+一门数据库管理课程。
在考试版本选择上,我建议先不要选择当前Oracle官方还在支持的最高版本,选择一个次新版本或者当下的主流稳定版,因为从实际应用的角度,最高版本的数据库距离大规模生产应用还有很长的一段时间,例如现在Oracle最新的版本是23c,但是眼下19c正在成为主流稳定版,选择19c无疑是比23c更好的选择。
OCA这个阶段,从开始学习到考试,我建议不超过2个月。时间拖久了,就会产生倦怠,很可能就后劲不足,继续考试的动力随之下降。
OCP阶段
在完成了OCA考试之后,就可以准备OCP考试了。
OCP阶段的学习,要搭配一个培训课程,无论是原厂培训还是像墨天轮这样的第三方机构,都是一次系统学习Oracle数据库的机会,不要抱着走马观花的心态,认真听课,从头把自己的Oracle知识认真梳理一遍,这一过程也是为自己后面OCM的学习备考打好基础。
OCP课程的考试,比起OCA稍微难一些,但是难的有限。而且现在网上也有题库可以找到,其实考过真的不难。但是知识点的掌握,同样重要。
OCP这个阶段,从开始学习到考试,我同样建议不超过2个月,理由和OCA一样。
OCM阶段
如果说OCA考试的难度是2,OCP考试的难度的3,那么OCM考试的难度可能是10,整个难度陡然提升。
OCM是在OCA和OCP基础上更加深入地系统学习Oracle的过程,而且考试时多个知识点之间互相串联,不再是像OCA和OCP一样,每一道考题都是相对独立的。如果对自己的动手能力没有信心,我建议在考完OCP之后,把之前的知识都再实践几遍,再去备考OCM。
而OCM从学习到考试,一般要经历4-6个月的备考期,假设你用了4个月完成OCP考试,再用2个月反复巩固前面的知识,那么接下来4-6个月就可以备考OCM了。
学习方法
在当初报名了恩墨学院的OCM班之后,我用了大概8周的时间,从头学完了所有的课程内容。那会在远洋德意的一个老旧的楼里,条件一般,但是大家学习的劲头都很足,彼此之间互相指导一起成长,几个月下来不但收获了知识,也结交了一批挚友。
仔细回忆那段日子,如何学习备考,我个人总结了几点经验:
- 无论课堂内容你已经多么熟悉,请按部就班认真听完。在听课过程中,积极发现哪些内容老师讲的与你的理解的有偏差,到底谁对谁错,通过查阅文档手册与实际动手来验证。
- 官方文档要反复阅读。官方文档是最权威的内容,而且Oracle的官方文档水准也是在数据库厂商中非常优秀的,课堂上学的知识点,课后在官方文档中巩固。
- 每一道题都要动手。无论是一条SQL的语法,还是OCM中需要实际动手操作的部分,都要动手去验证,而不是仅仅停留在书面上。
- 熟能生巧,对OCM的课程内容与考试内容反复实验。记录下来每次的用时以及出错的点,在常用命令层面甚至形成肌肉记忆。这样才能确保你在OCM考试时游刃有余。印象里那会每天我提前30分钟到公司,开机就先登录到测试环境,把OCM考试需要动手的几个题目跑一遍,做到哪第二天早上继续。直到每部分的使用时间只用到考试要求时间的1/3以内。
- 关注其他同学的问题。有的时候,自己会陷入一个盲区,不知道哪些知识是自己不会的,这时候别的同学的问题,可能就会点醒自己,原来自己在某些方面也存在的短板。
- 学以致用。在学习的过程中,想一想自己实际工作中这部分做的怎么样,有什么可以调整优化的点。例如学完做Data Guard,我立刻就找领导申请了备机,把原来一些没有配置过Data Guard的数据库全都配置上。
备考后
考试策略
这里着重讲一下OCM的考试策略,因为OCM考试是要两天差不多16个小时,因此对于每个参与考试的人来说,体力、注意力、情绪、知识掌握程度,都是有着较高的要求。我总结了几个策略:
- 时间管理。OCM考试每道题都有规定时间,平时在自己练习的时候大概会用掉多少时间要有数。根据题目的工作量,在动手之前最好在草稿纸上把每一步大概占的时间比例写上。在实际发挥的时候可能要比自己练习的时候花的时间更多,所以如果考试过程中用的时间比平时多的时候,不要太在意,这是正常现象。同样,时间安排也不能过于随意,如果某个环节时间比例失衡了,就要引起警觉。不要再某个步骤上耗费太多比例的时间,从而影响后面的考试内容。
- 心理建设。虽然有个别的题目,是有关联的,但是过了其中某个板块,后面的题目就是相对独立的。前面某部分题目无论做到什么程度,都已经过去了,不要纠结,继续摆好心态。当初和我同一场考试的朋友,因为重建control file出了问题,导致那一天后面的部分都心神不定,实际上过去就过去了,不要再想太多。
- 使用文档。考试过程中是可以参考Oracle官方文档的,在遇到不确定的题目时,一定要查阅官方文档再做定夺,磨刀不误砍柴工,查阅官方文档的时间可能会比你盲目答题然后推倒重来更有效果。当然,这一切都是建立在对官方文档很熟悉的情况下,务必在备考中做好准备。
- 体能储备。OCM考试累计16小时,每天8小时。看似只有8小时,可能还没有每天工作时长多,但是这8个小时是在注意力高度集中的情况下度过,体能的消耗会比你想象的更大。所以考前几天合理作息和饮食,做好身体上的准备,不要做透支体能的事情。必要的话在考场附近跟一起考试同学找个快捷酒店住下也是个策略。
- 做题方式。考试中有两种做题方式,一种是每一条命令都手动敲,另一种是写在文本里逐条复制粘贴,前一种好处是节省时间但是对手打的容错率要求更高,后一种更稳,但是消耗的时间会多一些。我个人选择的是后者,因为在练习过程中,自己的时间都还比较富余,更求稳。
- 考完之后。考完并不意味着终点,学无止境,仔细复盘备考中的知识点,为以后的学习继续铺垫。寻找短板,着重学习。
小结
最后做个总结:
- 考OCM是一笔很大的投入,无论是纸面上还是隐形的成本,都是按万来计算,请仔细斟酌。
- 制定一个考试计划,按部就班地执行,不要拖延过久,否则容易半途而废。
- 熟能生巧,每一个知识点都要反复动手练习,不断加深记忆。朝夕之功不可或缺。
- 考试中也有各种策略,提前做好准备。
- 学无止境,不是考完就万事大吉,还有更多东西需要学习




