挨踢部落故事匯(13):揚(yáng)長(zhǎng)避短入行Oracle開(kāi)發(fā)
原創(chuàng)【51CTO.com原創(chuàng)稿件】“他人笑我太瘋癲,我笑他人是怎么看出來(lái)的呢?”一個(gè)被數(shù)據(jù)庫(kù)耽誤的段子手的座右銘竟是醬紫風(fēng)趣幽默。在介紹胖子職業(yè)之前,先認(rèn)識(shí)他這個(gè)人,也許你不會(huì)相信胖子是個(gè)程序猿,而且還是個(gè)頭腦冷靜,思想沉著數(shù)據(jù)庫(kù)工程師。胖子平時(shí)的愛(ài)好是激烈對(duì)抗的藍(lán)足球,喜歡徒步旅行,喜歡脫口秀講段子,喜歡編劇拍視頻。這樣外向的人和程序猿攻城獅的標(biāo)簽幾乎沒(méi)有半點(diǎn)聯(lián)系。
胖子·Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)
揚(yáng)長(zhǎng)避短,結(jié)緣Oracle開(kāi)發(fā)
如果不是大學(xué)選擇了軟件工程專業(yè)(這個(gè)在胖子大學(xué)之前,什么也不知道的專業(yè)),也許他現(xiàn)在會(huì)像池子李誕一樣從事脫口秀行業(yè),或者像小沈陽(yáng)宋小寶一樣跑各種場(chǎng)子。
大學(xué)***年,胖子什么也沒(méi)有學(xué)到,導(dǎo)致期末掛了4科,包括一門專業(yè)課。那時(shí)候,他已經(jīng)走到學(xué)業(yè)低谷期,一度懷疑當(dāng)初的選擇。他曾想換專業(yè),但一想到換專業(yè)也是從頭學(xué)起,這個(gè)行業(yè)最起碼學(xué)習(xí)了一年,何必再?gòu)念^開(kāi)始呢?其實(shí)任何人都想成功,為什么不逼自己一次呢?從那時(shí)開(kāi)始,他便每天復(fù)習(xí),預(yù)習(xí),拉著同學(xué)問(wèn),終于算有點(diǎn)入門。尤其他發(fā)現(xiàn)了數(shù)據(jù)庫(kù)這門課程,在大家都沒(méi)有興趣或者感覺(jué)很難的時(shí)候,他發(fā)現(xiàn)竟愛(ài)上了它,而且感覺(jué)非常簡(jiǎn)單。大三是專業(yè)開(kāi)始定方向的時(shí)候,對(duì)于編程,胖子還是菜鳥(niǎo)(到現(xiàn)在還是不明白Java的三大框架),教數(shù)據(jù)庫(kù)的班主任專門提議他去學(xué)習(xí)Oracle數(shù)據(jù)庫(kù)。因?yàn)閿?shù)據(jù)庫(kù)不用Java那些代碼,避開(kāi)Java、C++那些模式之類的東西。發(fā)揮專業(yè)所長(zhǎng),胖子聽(tīng)從了老師的建議,報(bào)名Oracle培訓(xùn)班。就這樣他非常輕松愉快的學(xué)習(xí)了4個(gè)月Oracle,并考取了OCP證書。雖然在編程方面還是菜鳥(niǎo),但是在數(shù)據(jù)庫(kù),尤其Oracle數(shù)據(jù)庫(kù)方面,他算是中級(jí)。最起碼畢業(yè)有口飯吃,不用做啃老族。
Oracle坎坷開(kāi)發(fā)路
胖子跑了一個(gè)多月的社會(huì)招聘,終于在大四上學(xué)期找到了一家不錯(cuò)的工作。但入職不久,他就經(jīng)歷了一次打擊。***次和組長(zhǎng)出差到客戶現(xiàn)場(chǎng),結(jié)果他發(fā)現(xiàn)什么也不會(huì),在大學(xué)和培訓(xùn)機(jī)構(gòu)學(xué)到的知識(shí)根本用不上。只能每天站在組長(zhǎng)的后面,看著組長(zhǎng)開(kāi)發(fā)。兩天的時(shí)間,他感覺(jué)過(guò)了兩年。出差結(jié)束回到公司,為了不再出現(xiàn)***次的情景,胖子每天都利用下班時(shí)間學(xué)習(xí),幾乎每天只睡5個(gè)小時(shí)。ITPUB、51CTO等各種技術(shù)相關(guān)的論壇網(wǎng)站都有留言學(xué)習(xí),Linux shell腳本的編寫、Java 開(kāi)發(fā)、Oracle管理運(yùn)維都提高了很多。終于迎來(lái)了第二次出差機(jī)會(huì),胖子只身一人來(lái)到客戶現(xiàn)場(chǎng)解決數(shù)據(jù)庫(kù)數(shù)據(jù)上傳緩慢問(wèn)題。雖然他在公司測(cè)試通過(guò),可客戶現(xiàn)場(chǎng)還有很多突發(fā)情況。
胖子印象最深的問(wèn)題是他把Oracle數(shù)據(jù)庫(kù)內(nèi)存參數(shù)修改為機(jī)器系統(tǒng)的80%(機(jī)器內(nèi)存是16G,本打算修改為12G),結(jié)果修改完導(dǎo)致數(shù)據(jù)庫(kù)不能啟動(dòng)。經(jīng)查,他發(fā)現(xiàn)32bit的操作系統(tǒng)Oracle內(nèi)存參數(shù)不能超過(guò)1.7G。而他之前用的都是64bit系統(tǒng),根本沒(méi)有注意這個(gè)問(wèn)題。加上他的技術(shù)并不嫻熟,只能求助以前的老師,***胖子利用數(shù)據(jù)庫(kù)參數(shù)文件將Oracle內(nèi)存修改為1.7G,但數(shù)據(jù)傳輸緩慢的問(wèn)題仍然沒(méi)有解決。他先從軟件代碼用到SQL語(yǔ)句開(kāi)始優(yōu)化(數(shù)據(jù)庫(kù)緩慢問(wèn)題80%都是SQL引起的)。利用AWR報(bào)告找到Top 5的SQL語(yǔ)句,發(fā)現(xiàn)里面有delete from table1;將其修改為TRUNCATE TABLE table1;(同樣是刪除表,delete屬于DML語(yǔ)句,操作會(huì)放到回滾段里面,TRUNCATE不會(huì),delete做多了就會(huì)產(chǎn)生很多碎片,高水線(High Watermark)保持原位置不動(dòng),TRUNCATE會(huì)將高水線復(fù)位(回到最開(kāi)始),這是其與delete的本質(zhì)區(qū)別)速度比以前快了一點(diǎn),但還沒(méi)有達(dá)到預(yù)想的效果。數(shù)據(jù)庫(kù)環(huán)境搭建是Java程序員安裝的,所以胖子決定從Oracle數(shù)據(jù)庫(kù)著手,首先停掉了歸檔日志開(kāi)關(guān),其次修改了在線日志文件大小,***修改了臨時(shí)表空間大小,幾次修改之后,終于速度達(dá)到了客戶的要求。
因?yàn)閮?yōu)化數(shù)據(jù)庫(kù)是在周末,出現(xiàn)問(wèn)題可以有時(shí)間解決,而且還有很多數(shù)據(jù)庫(kù)方面的大神在幫助他,數(shù)據(jù)庫(kù)緩慢問(wèn)題得以解決。雖然胖子在公司測(cè)試很多次,但還是不如在現(xiàn)場(chǎng)真實(shí)操作。如此強(qiáng)壓環(huán)境下,人的抗壓性和能力都會(huì)發(fā)揮出來(lái),最起碼胖子是這樣的。
Oracle對(duì)初入職場(chǎng)人的選擇和影響
如果一個(gè)人想成功,一定是發(fā)揮自己的優(yōu)點(diǎn)去工作,避開(kāi)自己的缺點(diǎn)。
Oracle數(shù)據(jù)庫(kù)的市場(chǎng)占有率達(dá)到了60%以上,系統(tǒng)也成熟,各種學(xué)習(xí)資料、問(wèn)題解答都有很多地方可以查到。最重要的是數(shù)據(jù)庫(kù)行業(yè)的待遇和受人尊敬程度在整個(gè)行業(yè)都是***的。作為市場(chǎng)的龍頭軟件商,胖子也被它俘虜了。
數(shù)據(jù)庫(kù)分為開(kāi)發(fā)、管理、運(yùn)維。對(duì)胖子這種剛?cè)腴T的菜鳥(niǎo)來(lái)說(shuō),開(kāi)發(fā)是最容易入門的,也是成長(zhǎng)最快的。雖然工資還是比較少,但是工作內(nèi)容和強(qiáng)度會(huì)比其他程序員(Java工程師、測(cè)試工程師)輕松很多,工資卻和他們一樣(為啥這么氣人呢)。剛接觸Oracle時(shí),他發(fā)現(xiàn)Oracle很簡(jiǎn)單(相對(duì)于Java、C++等編程),等真正進(jìn)入之后,才發(fā)現(xiàn)它很龐大。只有不斷的去學(xué)習(xí)數(shù)據(jù)庫(kù)的核心,才能真正駕馭它,不會(huì)被這個(gè)行業(yè)拋棄。而且真正學(xué)會(huì)之后,會(huì)有很多方向去選擇,不再局限Oracle開(kāi)發(fā)、運(yùn)維、管理這些。你可以選擇到目前流行的大數(shù)據(jù)、云計(jì)算等等,你會(huì)比其他職位(C++\安卓\ios等工程師)更有優(yōu)勢(shì)。
目前國(guó)內(nèi)企業(yè)事業(yè)的數(shù)據(jù)庫(kù)大多數(shù)是Oracle 10g和11g數(shù)據(jù)庫(kù)。這對(duì)于Oracle從業(yè)者又是個(gè)挑戰(zhàn)的機(jī)會(huì)。在這個(gè)大數(shù)據(jù)時(shí)代,企業(yè)都要面臨Oracle數(shù)據(jù)庫(kù)升級(jí)或者遷移的瓶頸,而且大多數(shù)企業(yè)都沒(méi)有專職的DBA團(tuán)隊(duì)或者崗位。對(duì)于職場(chǎng)迷茫的你,會(huì)是另一番機(jī)遇。
如果你也愿意分享你的故事,請(qǐng)加51CTO開(kāi)發(fā)者QQ交流群 312724475聯(lián)系群主小官,期待你的精彩故事!
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】