天天看點

DBA入門之路:學習與進階之經驗談

DBA入門之路:學習與進階之經驗談

初入資料庫之門的朋友們,總是關心如何能夠快速提高,不斷進步,事實上任何一個技術方向,都沒有太多的捷徑可走,勤奮與堅持必不可少,但是有一些方法和他人的經驗可做借鑒,砥砺自我。

在本周“雲和恩墨大講堂”的教育訓練分享中,我回顧了自己的一些觀點和看法,在此分享給大家。

DBA入門之路:學習與進階之經驗談

我來稍微解釋一下這些觀點:

基礎重于一切

在學習的過程中,oracle核心技術的基本知識必須了解,在普遍的概念和功能點上不能留下死角,比如oracle的lgwr原理,redo/undo機制,以及由此而來的各種功能,包括dg、adg,閃回,高可用架構和容災方案等。

了解oracle資料庫的核心功能與原理,在應對需求和提供服務時才能做到全面公正,這在起步階段很重要。對于oracle資料庫,這需要閱讀oracle concept、administrator’s guide、reference手冊、backup and recovery user’s guide,進一步的需要了解data guard concepts and administration,oracle clusterware and rac administration手冊。

百科全書楊廷琨的故事

oracle aced楊廷琨在itpub上被稱為“oracle的百科全書”、楊長老,他的文檔閱讀與了解深入罕有人及,老楊幾乎閱讀了oracle資料庫相關(還包括開發)的所有官方文檔。

在北京,隻要出門,老楊必然喚一輛計程車,在車上欣然的打開筆記本,閱讀文檔,甚至在雲和恩墨年會的大巴車上,老楊打開的依然是官方文檔,在飛機上,他更多拿的是列印稿。

老楊說,用一點投資,在車上換來安靜的閱讀,這回報和時間收益是無價的。

在雲和恩墨,當你向老楊提一個問題,他可能回答:你可以在xx文檔上xx章節找到答案。

在恩墨最大的挑戰是:找老楊pk文檔!

由點及面由淺入深的學習方案

我在《深入解析oracle》一書中,總結和描述了我所實踐的學習方法,有點及面和由淺入深。在這裡整理更新分享給大家。

我一直主張的"由點到線再及面"的學習方法。特别是對于初學者,如果沒有經過專門的教育訓練和系統學習,那麼自己通過實踐的學習和思考就應當深入,在知識上,從某個角度來說,是"不患寡,而患不精深"。在我們遇到問題時,就應該不斷深入研究,直至問題的核心本質,這樣通過一個案例或實際問題的診斷學習和研究,我們就可以帶動很多連帶知識的學習,這樣從一個點深入下去就形成一條線,再橫向擴充就可以形成一個知識網,解決和研究的問題多了,就可以逐漸覆寫一個面,形成一個知識體系,這樣慢慢的你就會覺得學習不再困難,而是一件得心應手的事情。

嚴謹與獨立思考的素質

認真思考和深入研究本身就是對dba的一項基本素質要求。在網上經常被問及我的招聘要求,收錄一點在這裡給大家參考:

對于一個候選人來說,我希望他勤奮、嚴謹、具有鑽研精神及獨立思考能力。技術其實往往并不是我最關心的内容,因為具備了前面的素質之後,經過1~2年的鍛煉就絕對不會知道的太少。

我自己正是通過這樣一條學習之路走過來的,也希望可以通過這本書将這個思想傳達出來。

我願意将我在《oracle資料庫性能優化》一書的序言中提到的一段話再次引用一下:

興趣 + 勤奮 + 堅持 + 方法 ≈ 成功

很遺憾我不能給以上公式畫上"=",但是無關緊要,隻要具備了以上因素,我想我們每個人都會離成功不遠了。

dba生存的四大守則

在《深入淺出oracle》一書中,我在序言中提到了我所總結的"dba生存之四大守則",直到今天仍然具備借鑒意義。我列出的四大守則是:

1.備份重于一切

我們必需知道,系統總是要崩潰的,沒有有效的備份隻是等哪一天死!我經常開玩笑的說,唯一會使dba在夢中驚醒的就是:沒有有效的備份。

在進行重要的操作(如恢複嘗試、更新操作等)之前,一定要做好備份,保留現場,以便必要時可以從頭再來。

2.三思而後行

think thrice before you act。

任何時候都要清楚你所做的一切,否則甯可不做!對于dba來說,有時候一個回車,一條指令就會造成不可恢複的災難,是以,你必需清楚确認你所做的一切,以及這些操作可能帶來的後果,并且在必要時保護現場。

dba切忌想當然。

3.rm是危險的

要知道在unix/linux下,這個操作意味着你可能将永遠失去後面的東西,是以,确認你的操作!!!

太多的人在 "rm -rf" 上悲痛欲絕,當年寫下這條守則時,是一個淩晨被一個朋友吵醒,他說誤操作rm -rf删除掉了200g的資料庫,并且沒有備份。

我當時能告訴他的隻有一句話:要保持冷靜.

4.你來制定規範

良好的規範是減少故障的基礎。是以,作為一個dba,你需要來制訂規範,規範開發甚至系統人員,這樣甚至可以規避有意或是無意的誤操作,減少資料庫的風險。

見過太多管理混亂的開發環境,經常出現程式員連錯生産環境誤操作的案例,是以規範實在是非常的重要。不以規矩,不成方圓。

這四個守則有的部分是互相關聯,密不可分的,希望每個dba都能謹慎認真,少犯錯誤。