OCM成长之旅
寫在前面的話
2016年7月,一個安靜的午后,屋外夏日炎炎,連一向聒噪的知了都犯困噤了聲。小憩的我,因為Oracle Certification Program發(fā)來的祝賀信打消了睡意。今日恰逢我的兒子,小YF,半歲,還有什么是比OCM證書更好的禮物呢?看著他睡著了還露出可愛的笑容,感覺屋里的空氣都變得甜蜜起來,初為人父的我總希望能給他全部的愛和良好的引導(dǎo),拿到一件OCM戰(zhàn)袍,是自我提升的一步,更是實踐我要成為更好的榜樣的諾言。雖然,成為OCM并不是一件多么多么了不起的事情,但至少希望將來他可以如我這次一樣,能有勇氣接受挑戰(zhàn),可以為夢想和責(zé)任付出努力,也能在不斷的探索后收獲屬于他的成功和快樂。
回想起來,決定報考OCM仿佛就在昨天。之所以能有這次體驗OCM的機會并堅持到現(xiàn)在,要感謝愛人的極力“慫恿”與支持,還有雙方父母的理解和默默付出,否則我想我是無論如何不可能完成這次挑戰(zhàn)的。
初識Oracle
我是2006年開始接觸Oracle,我并非計算機科班出身,屬于管理學(xué)派別,大四跟著保研的導(dǎo)師做畢業(yè)設(shè)計,方向是專利信息檢索和挖掘。畢設(shè)要做的就是一個類似爬蟲的系統(tǒng),主要是抓取采集USPTO的專利信息,并進行社會網(wǎng)絡(luò)分析。采集的數(shù)據(jù)就需要存儲起來,開始使用的是MySQL,主要是比較小巧,但道聽途說有個Oracle數(shù)據(jù)庫,很龐大、很厲害,于是乎就想試試。不試不知道,一試嚇一跳。好家伙,確實很龐大,光安裝文件就上G了。當時使用的還是9i的版本,找?guī)熜挚截惲税惭b文件,就吭哧吭哧裝起來,但當時基本都用的Windows操作系統(tǒng),所以安裝過程就像裝普通應(yīng)用軟件一樣,不像Linux下命令行安裝那么繁瑣。彼時由于機器配置不高,運行起來很卡,再開個Eclipse,簡直了……
我對Oracle的最初印象總結(jié)起來就是:龐大,極為消耗資源。說實話,那時Oracle于我而言是一個封裝好的黑盒子,就是來存儲數(shù)據(jù),什么體系結(jié)構(gòu),全然不知,全然不曉。
對Oracle的新認識
由于工作中需要使用Oracle,相比在學(xué)校,了解的內(nèi)容會更多一些,但也有限,更多時候還是將Oracle看作存數(shù)的黑盒,所作的操作也僅限于增刪改查。直到2013年,在一次參加ACOUG的線下活動時,secooler大師用一張PPT,2個小時講解了Oralce的體系結(jié)構(gòu),嚴謹又不失生動,才讓我第一次體會到原來Oracle背后的運行原理有這么豐富,同時不禁感嘆自己之前是對Oracle有多么地不了解,虛度了……再加上同單位的Oracle大神dbsnake,開了關(guān)于基于Oracle的SQL優(yōu)化的講座,我聽了之后一頭霧水,但冥冥之中能感覺水平超乎尋常……無形之中,也不知具體是從何時開始,就對Oracle慢慢有了不一樣的興趣。也是從那時開始定期關(guān)注一些技術(shù)博客、MOS文章,同時也重新寫起自己的技術(shù)博客,參加一些線上線下的Oracle活動,了解更多關(guān)于Oracle的事情。
決定挑戰(zhàn)篇
其實2013年第一次聽secooler宣講的時候,他提到的一個案例就是OCM的一道考題:手工建庫(當時不懂,啥玩意兒,庫還能手工建……)。對于OCM,自己一直懷著一顆敬畏的心,當時壓根沒想過自己也會經(jīng)歷一次OCM的洗禮。
2015年,老婆懷孕了,預(yù)產(chǎn)期是2016年1月。在15年11月的時候,老婆單位有兩位同事想要組團報OCM,于是乎老婆回家慫恿起我來,呼喊著,“再不考就沒機會了,一起報名還可以優(yōu)惠”之類的口號。相比于她的半認真半開玩笑,我反倒十分猶豫,一是老婆的預(yù)產(chǎn)期快到了,接下來小孩出生后正是用人的時候,二是雖然不十分了解OCM,但至少知道這個是個需要實際操作的考試,非常難,何況自己本職工作不是專職的DBA,所以經(jīng)驗和知識儲備上要欠缺很多,三是日常的工作確實很忙,不知道自己有沒有額外的精力準備。可是如果不報,自己還是有些不甘,感覺如果這次機會不挑戰(zhàn),可能很難再找到機會了。于是乎,還是在11月的某個周末,和擦航兩位小伙伴一塊聽了半天課,用支付寶刷了一筆可觀的培訓(xùn)費……中午為了紀念一下,一起在世界城的餐館腐敗了一頓……說實話,那時心中還是很忐忑,不確信自己可否堅持下來……
其實,之所以能鼓起勇氣接受挑戰(zhàn),還有一個重要原因,就是想為我的小YF做一個榜樣,為他拼搏下一件OCM戰(zhàn)袍,讓他知道,爸爸經(jīng)過努力,是可以戰(zhàn)勝看似不可能贏的困難。我想他今后也能懂得,學(xué)習(xí)、工作和生活的道理都是相通的,付出不一定有收獲,但不付出一定沒有收獲。
準備篇
由于我的小YF在1月2日比預(yù)產(chǎn)期提前20多天就迫不及待地來找我們了,所以16年2月之前我基本沒有精力和時間去聽課。直到3月初,老婆打著為了我能好好準備考試的旗號,帶著小YF回了老家,要等產(chǎn)假6月結(jié)束前再回來。我真是十分地不舍,一想到要和他們分開3個多月,心里就不是滋味,在送他們回老家返程的火車上,我就暗下決心,一定要把握這幾個月的“自由時間”,努力得到真正實力的提升,也要盡力在她們回來之前搞定OCM。差不多是3月中旬左右,我正式進入了OCM的備戰(zhàn)階段。OCM的考試是上機考試,2天的時間考9個場景,也就是9門考試,在考試過程中,會有遠在米國的印度工程師,實時監(jiān)控,并有可能隨時破壞你的考試環(huán)境,因此OCM考試考的不僅僅是對知識點的理解和實操能力,還要考核你臨場查找問題處理問題的能力,因此想做Paper OCM是基本不可能的,需要的是在理解原理的基礎(chǔ)上,熟練實操的能力。
OCM課程通常是按照場景來劃分,授課時老師基本1天講1個場景,這樣周末2天就可以過2個場景。一般應(yīng)考者都會選擇在2~3個月的周末內(nèi)循環(huán)聽課。我第一遍聽課的時候,確實有些不知所云,有些內(nèi)容是以前王全安全沒有接觸過的,有些則是聽過但理解不深的,一輪講解過后,我都一度懷疑自己能不能一次通過考試……OCM最重要的除了了解理論體系外,就是實際操作。每個場景都有相應(yīng)的練習(xí)題目,能否在規(guī)定的時間內(nèi)完成練習(xí)可以說是通過考試的必要條件。尤記得第一次接觸場景練習(xí)題,也曾經(jīng)被題量和完成要求挫敗了一次又一次……secooler大師要求考生每天0點發(fā)自己的練習(xí)成績(主要是練習(xí)的完成時間)。開始做場景練習(xí)的時候,有些內(nèi)容是真心不會,通常都是自己吭哧吭哧反復(fù)嘗試反復(fù)驗證,甚至有時都不一定能成功,被一個小問題折磨個1~2天是很正常的事情。這個階段我感覺是OCM備考中最煎熬的,因為知識體系還不完善,練習(xí)經(jīng)常會卡殼,身體和自信心都飽受考驗。
關(guān)于練習(xí)設(shè)備:由于9個考試場景中有7個場景需要啟動兩臺主機,而場景8和9由于要搭建RAC,再加上遠程訪問,更是需要啟動三臺主機,因此建議考生盡量使用SSD存儲,內(nèi)存越大越好,當然配置低一些也不是不行,只是快不快的問題。我一般上課還有簡單場景的練習(xí)都是帶著MBA,輕是一方面因素,最重要的是電池扛得住;而整體練習(xí)時則使用DELL,由于本機SSD不夠,所以另外買了一塊外接SSD移動硬盤,速度上還可以,但隱患就是一旦線松了,這塊盤就廢了(變成了只讀盤),需要將其中的虛擬機拷貝出來,格式化,再拷貝回去再接著用。將近200G的虛擬機,單程拷貝需要將近1小時。而且不知什么原因,主機2用一段時間有可能出現(xiàn)啟動時hang的情況,這時就需要重啟機器,同時不能卸載硬盤,啟動后就可以接著用了。摸出這條規(guī)律也是費了一些時間,還好慢慢習(xí)慣了。另外,為了模擬考場環(huán)境,閑魚上搜了一個二手考試鍵盤,但事實證明沒太大必要。
關(guān)于練習(xí)時間:由于工作比較忙,晚上有時會加班,所以我在剛開始備考的時候,基本是每天8、9點到家后一直練到凌晨1、2點,結(jié)果這么干了不到1個月,就有些扛不住了,上醫(yī)院看了幾次病……考慮到身體是革命的本錢,于是調(diào)整了策略,計劃著每天10點睡覺,第二天5點起床,早睡早起,趁著早上這會功夫練習(xí),這樣堅持了幾天,可是由于積累的問題實在太多,時間慢慢又不夠用,就又變成了12點睡覺,5點多起床,晚睡早起……后來實在沒法就中午吃完飯也趁著1小時的午休時間做練習(xí)。
大約在5月中旬,我過完了所有9個場景,課程大約聽了3遍,按照secooler大師的建議,越早定下考試時間越好也考慮到老婆產(chǎn)假即將結(jié)束,6月初就會帶著寶寶回京,于是乎預(yù)定了6月初的考試時間。但不知什么原因,可能是由于端午節(jié)臨近,原定6月6、7日的考試被Oracle推遲到了6月14、15日,無法在寶貝兒子回來之前就拿下證書,也頗為遺憾。
實戰(zhàn)篇
6月14號一早,不到8點,同考的4位兄弟就到了OU考場。secooler大師、郗總,還有全新老師都到場為我們打氣助威,并做了仔細的考前叮囑。當天考場一共6個人,我幸運地分到了倒數(shù)第二排,好處就是離窗戶近,因為空調(diào)并沒有傳說中的那么涼。
第一天上午是考場景一,下午是場景二~四,5場考試,時間上很緊張,如果平時不能將練習(xí)速度提上來,考場上可能讀題的時間就要占用大多半,很可能就不能完成所有要求。從小到大,中考、高考、碩士推免考試、工作面試、各種大大小小的考試,可謂是身經(jīng)百戰(zhàn)了,雖然不認為有什么不可戰(zhàn)勝的考試,但場景一開始的前半個小時,依然感受到了強大的壓力,甚至有些不知所措。還好,考試內(nèi)容還算較為熟悉,此時只有自己能幫自己,穩(wěn)住心情,慢慢調(diào)整,逐漸進入了狀態(tài),手工建庫、創(chuàng)建表空間、GI、EM、冷備,一切都在掌握中。雖然中間也出了一些小插曲,EZCONNECT方式連接總是失敗,后來檢查發(fā)現(xiàn)是由于緊張導(dǎo)致連錯了主機。還有一個未解決的問題,就是NFS做完后,v$dnfs_files視圖中無記錄,但創(chuàng)建顯示成功了。每場考完之后,我們要出考場,等待考官刷下一場景的環(huán)境,幾個兄弟就趁此機會交流一下,互相叮囑一下下一場景要注意的問題,團隊作戰(zhàn)的優(yōu)勢不可小覷。
第二天上午是場景五和六,下午是七-九。場景五是所有場景中最重要的一個,可以說得場景五者得OCM,題量大、涉及面廣是其特點,過程有驚無險,在SPA這題,之前選擇了目標庫11.2.0.1,沒有一條SQL性能是下降的,刪了任務(wù)重新選擇11.1.0.7,才有了幾條性能下降的SQL。場景六和七是有些關(guān)聯(lián)的,場景六是安裝GC,場景七是安裝DG,如果之前練習(xí)的是使用GC安裝DG,那么場景六就不能掛,我在做場景六的過程中,發(fā)現(xiàn)兩臺主機之間圖形界面操作很慢,于是很糾結(jié)場景七是圖形DG還是手工DG,中午猶豫了許久,最后為了安全起見,還是選擇了手工建庫,之前練習(xí)經(jīng)常出錯的duplicate等環(huán)節(jié)也格外小心,監(jiān)聽、dg_broker的配置,也是盡量放慢速度,避免漏了。場景八和九也是一個強關(guān)聯(lián),場景八是ASM,場景九是RAC,都還算順利。小插曲就是之前的場景,心里還暗自慶幸印度人沒有搞亂。到場景九了,裝好了RAC,我記得用腳本測過連通性,但check end state卻提示無法連接,ORA-01017,稍冒冷汗,反復(fù)嘗試,回憶是不是設(shè)錯了密碼,alter user改了一次,可以連了,等了沒兩分鐘,又不行了,暈,難道他們在逗我?接著改,結(jié)束前算是消停了,出考場前聽見其他培訓(xùn)機構(gòu)的一位兄弟正在和考官反映說RAC裝好了之前還能訪問,現(xiàn)在怎么不行了,不知道是不是同一個印度人在搞亂。
總結(jié)篇
兩天的考試,比較緊張,規(guī)定不允許提前交卷,且真正做起來,可能不會提前太多時間完成,精力消耗很大,考前要注意儲備體能。
整個OCM的備戰(zhàn)過程,只有自己才清楚其中的艱辛,不僅是每天下班和周末的時間完全貢獻出來,還要經(jīng)受心理、身體上的多重考驗。但收獲也不少,在授課大師身上都學(xué)到了不少精髓,對Oracle又有了深入的認識。雖然可能其中的知識點,有些還未完全深入掌握,這些也是未來要改進的地方。OCM不是終點,我一直認為即使有了OCM認證,也不代表就是什么大牛了,畢竟OCM考察的還是Oracle的一些基本操作,并未涉及太深入的內(nèi)容,例如,極端的故障恢復(fù)、SQL和數(shù)據(jù)庫的深度調(diào)優(yōu),Internal的內(nèi)容。這些都不是說經(jīng)歷了一次OCM,就沒問題了,相反,學(xué)過之后,才進一步知道自己還有如此多的知識不清楚。遂時刻提醒自己,我還只是Oracle小白,經(jīng)驗和經(jīng)歷是需要積累的。勿忘初心,方得始終。
建議篇
總結(jié)一些自己在這個過程中認為值得注意的地方,不一定適用所有人,但希望會有一些借鑒意義。
1.準備OCM前,一定要問清楚自己是不是想清楚了,為什么要考OCM,因為往往在職的同學(xué)通常很忙,很有可能因為其他事就耽誤了學(xué)習(xí)進程,進而消磨了斗志,拖個一年半載不是事兒,因此要問清楚自己的目標是什么,是否做好了準備。
2.準備過程中,練習(xí)是非常重要的,建議最好邊做練習(xí)邊聽課,最好先做練習(xí)再聽課,這樣可以帶著問題來聽,效率更高,否則直接聽課,很有可能吸收地較少、較慢。
3.設(shè)備若有條件,建議稍好一些,推薦16G內(nèi)存、至少256建議512M的SSD硬盤,工欲善其事必先利其器,但這不是絕對,照樣有兄弟機器配置低,照樣做練習(xí),所以不用苛求,因人而異。注意若是MBA或MBP,操作習(xí)慣上和Windows鍵盤有區(qū)別,考場上是Windows鍵盤。
4.是否有必要提前熟悉考場的鼠標和鍵盤?我覺得這不是最重要的,當然若有條件可以淘一些,而且現(xiàn)在大部分都是二手了,看個人的適應(yīng)能力。
5.組團備戰(zhàn):微信群、QQ群,考前集中備戰(zhàn),這些必不可少,讓你知道你不是一個人在戰(zhàn)斗,互相鼓勵,又可以查漏補缺,彌補自己的不足。
6.合理安排時間:平時工作都很忙,這就要自己安排好學(xué)習(xí)、訓(xùn)練的時間,早點起,稍晚些睡,抓住一切碎片時間,上下班路上可以看文檔,整塊時間過場景,這些都決定了備考的進度和效率。
7.注意身體,這點很重要,因為我們?nèi)松哪繕私^不是僅僅一個OCM考試,這只是其中的一個歷程,不要因為一時的沖動,影響了其他。
8.學(xué)習(xí)的過程中,做好總結(jié),包括實際操作過程、不理解的原理知識,自己總結(jié)出來才是自己的財富,看別人的永遠不能成為自己的知識,只有自己真正了解、實踐過的內(nèi)容才是最牢靠。
9.最重要的一點:堅持。因為備考過程至少要有幾個月的時間,如果不熟悉可能時間更長,而且建議有持續(xù)性,不是這個月學(xué),下個月休息,這就需要有比較強的意志力,每日0點發(fā)成績,能不能堅持下來,這是對自己的考驗,每個人會有自己的極限,會有自己的各種事情,如何克服困難,摒除雜念,取決于個人。
送給未來打算經(jīng)歷這個會讓你難以忘懷的OCM過程的朋友們一句話,“梅花香自苦寒來,寶劍鋒從磨礪出”,祝好運!
歡迎朋友們有問題隨時交流(郵箱:bisal_liu@126.com,或添加個人微信公眾號:bisal的個人雜貨鋪)。
bisal & phibisal
2016年7月
總結(jié)
- 上一篇: c语言循环题兔子第三个月生,C语言·古典
- 下一篇: mysql中group by用法解析