學習Oracle是一個漫長艱辛的過程。如果沒有興趣,只是被迫學習,那麼是很難學好的。學習到一定程度的時候,要想進一步提高,就不得不接觸很多Oracle之外的東西,如Unix,如網絡、存儲等。因此,要真的決心學好Oracle,就一定要有興趣。有了興趣,就會一切變得簡單快樂起來。簡單總結一下,那就是:興趣、學習、實踐。
如何入門是許多初學者最頭疼的事情。Oracle涉及的方面太多了:SQL、管理、優化、備份恢復……那麼從哪開始學好呢?如果在大學期間學過數據庫理論,或有一定的數據庫基礎自然很好;如果沒有的話,真的是個大問題。我個人認為還是應該從SQL語句學起。比較好的教材是Oracle OCP認證的《SQL and PL/SQL》。學習SQL的時候,盡可能堅持使用Oracle自帶的工具:SQLPLUS。
有了一定的SQL基礎後,就要盡可能的了解Oracle的體系結構,這就涉及到了Oracle管理的內容了。我學習的時候,機械工業出版社的《Oracle9i DBA手冊》這本書對我的幫助挺大。或許現在都出11g版本的了吧。Oracle公司的《Oracle Concepts》是非常棒的書,對了解Oracle體系結構很有好處。每個Oracle版本都有對應的版本,可以認真多讀幾次,每次都會有新的收獲。
公司的產品現在幾乎都采用Oracle了,我們做維護的時候,備份與恢復是不得不接觸的內容。數據量少的,比如20、30多個G,還可以考慮用exp/imp來備份與恢復,但數據量大了,這種方法就根本不適合了。於是學習Oracle備份與恢復技術也是必然的事情。大數據量情況下,Oracle建議用RMAN來進行數據的備份與恢復。目前市場上有很多數據庫備份恢復軟件,其實好多也是後台調用RMAN。清華大學出版社出版的《Oracle 9i RMAN 備份與恢復技術》是一本非常不錯的介紹RMAN的書。
有了以上的基礎,可以說已經入門了,對遇到的一些初級Oracle問題將不再束手無策。然而我們的學習之路仍然還很漫長。我們的用戶可能經常抱怨數據庫運行緩慢。這時,如果有一定的優化知識,那就好辦了。有時你會看到優化前需要運行幾個小時的作業,優化後也許幾秒鐘就能完成!Oracle9i的性能診斷工具包statspack、Oracle10g/11g的自動工作符合存儲庫AWR都是調優的好幫手。機械工業出版社出版的《Oracle9i STATSPACK高性能調整》是學習statspack不錯的書。
在數據庫體系結構、編程優化方面,有一本書非常棒,這就是世界頂級的Oracle專家Thomas Kyte編寫的《Oracle9i&10g編程藝術》(英文名為“Expert Oracle Database Architecture”)。Tom以前還寫了一本叫做《Expert One-on-One Oracle》的書,也非常的經典。這兩本書被很多Oracle學習者視為寶典,如果想在Oracle上深入學習的話,強烈建議認真研讀。
掌握了以上內容,或者基本掌握以上內容,那麼你在很多人的眼裡也是Oracle的高手了,解決公司產品中的數據庫問題應該不成問題。不過Oracle還有很多高級內容可以進一步學習。這裡列舉一些,僅供感興趣的同仁參考。
1. 高級復制技術
2. Oracle Real Application Cluster (RAC)
3. Data Guard
4. Oracle Stream
5. 數據倉庫
6. Proc、OCI編程
以上列舉的這些高級內容,參考資料主要是Oracle公司的電子文檔。實話實說,上面的列的數據倉庫、Proc、OCI編程,我一點也不熟悉。
在學習Oracle過程中,充分利用網絡資源可以起到事半功倍的作用。
總之,Oracle最大的問題是復雜,復雜是Oracle的最大魅力。讓我們為了駕馭Oracle而共同努力吧!