學習Oracle DBA最好的書籍給推薦幾本?
學習Oracle DBA最好的書籍給推薦幾本?
最好的書就是Oracle的官方文檔。
但是對於一個沒有相關概念入門者而言,直接上來看官方文檔進度有點慢了而且容易前面看過了後面就忘記了,最大的問題就是抓不住重點。還很容易產生疲憊感。
同時前期而言,對一些概念模模糊糊的並不影響工作,因為你的前期DBA工作不可能讓你區分堆表IOT等,更多的工作是部署、巡檢類的工作。當然需要強調的是DBA不能對概念模模糊糊,必須要一打一個準,數據在你手裡!
因此前期需要快速的熟悉DBA工作的範疇,是管理型DBA還是開發型DBA。對於開發型DBA,首先語言關要過吧?Java/PHP/Python等等,要不然怎麼和別人溝通?等熟悉了語言關後,就是對SQL的優化、應用的拆分了,當然這都不是三兩天就可以完成的,後面再說。
對於管理型DBA,首先要熟悉的是Linux/Unix系統吧?最起碼知道ls、運行級別和目錄結構吧?這是保證不幹傻事的前提。
這大致了解操作系統後,第一個需要熟悉的便是如何安裝資料庫,這種教程網上已經爛大街了。學會安裝資料庫是方便你可以自己搭建一套測試環境,對於學習資料庫來說不可能上來就給你上生產環境的。在安裝完資料庫後,就是真正的入門資料庫的開始了,此時可以推薦你看下《OCP/OCA認證考試指南全冊:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053) 》,這本書是我在看的,感覺還是不錯的,當然官方的OCP考試教材/PPT是更好的資源,但是對於入門階段來說,我不推薦看英文書。在入門階段可以一邊看書一邊在測試環境上做實驗,對於管理維護型DBA前期我不建議過於耗費時間在SQL和PL/SQL上,只要了解語法即可,對於複雜SQL和存儲過程什麼的建議放到中期。
當書看著差不多,並且實驗也是帶著做的情況下,此時你應對管理型DBA工作有個大概的認識,此時應當可以找份DBA工作了,然後再在工作中進一步學習資料庫的管理。在入門的時候問題肯定也是最多的,這時你最好的朋友Google應對是你隨時可以求助的對象。當基本的表、對象、用戶、許可權和數據文件、表空間、段、區、數據塊有個感性認識,而且對於自己遇到的問題也知道如何發問時,這時應該是你去參考官方手冊的時候了,此時首當其衝的是Concepts Guide和Administrator Guide。這個階段建議你遇到問題除了求助於Google還需要學會在以上兩本手冊中查找相關的概念,PDF版本是你應當存在電腦里的,什麼愛情動作片太大沒空間?
在你接觸資料庫半年左右你應當多少會遇到些性能問題,而且對資料庫的邏輯和物理結構認識應對也到了一定程度,此時推薦你看一下性能優化方面的書,如《Oracle性能優化求生指南》。這本書是我在看的,關於Oracle優化方面的書汗牛充棟,當然好書也不勝枚舉,還是那句話,前期推薦你閱讀中文書,等到有個大致的概念,知道區分邏輯讀、物理讀、行鎖、表鎖後,建議你再進一步打開視野,閱讀一些英文類的數據。性能優化階段不建議你看Tom的《Oracle Database 9i/10g/11g編程藝術:深入資料庫體系結構》,這本書不是為初學者準備的。
當然在性能優化階段建議你多和別人交流,閉門造車是不行的。對於開發型DBA更多的應當是從業務邏輯層面編寫SQL語句,如是把邏輯放到業務層還是放到資料庫內,是否要加外鍵約束,事務大小對性能有無影響等等,這些都是要和開發做深入溝通的,當然我不是開發型DBA,對於此不敢說太多。
下面是Tom(Thomas Kyte)給出了學習Oracle必讀文檔和順序

我寫的是給開發DBA的。歡迎補充
1.熟練掌握sql的編寫,最好找一個項目(比如學生時代常見的圖書館系統),自己先想想裡邊的表結構如何設計。自己去設計它的業務需求,自己寫各種增刪改查。待你工作後首先很重要的一個工作就是熟悉項目表、熟悉行業業務。
2.常用概念:各RDBS通用概念如「主鍵、外鍵、唯一鍵、索引、約束、資料庫用戶、資料庫數據字典、臨時表、事物ACID、左連接右連接全連接」等。從事oracle的話,還有"表空間、物理文件、閃回操作、scn等"(這些是我以前從事oracle開發工作中會接觸到的一些概念,可能還有很多遺漏,懇請補充),要會用PLSQL寫存儲過程。oracle官方英文文檔最好多看看,不用通篇全部看下來,我當時都是簡單學大概過一遍,然後對目前工作近期需要用到的概念著重查看,寫實驗demo加深印象。
3.要積累SQL優化技能,這個沒法一步到位,要通過經驗的積累。
4.就業方面,你可以找找運營商、證券金融類的IT公司。
5.如果只是產品、售前等非開發性質的工作崗位,可側重在了解公司產品、行業業務、熟悉項目表,這樣在與開發同事交流的時候,談資更有份量。(從數據結構、數據內容本身就可以反推產品需求、產品設計)。我以前有遇到一個甲方技術部門的業務經理,其工作內容長期就是觀察本單位所有乙方的表,然後過來和你聊聊天。(數據結構與數據切勿輕易告訴他人,不過甲方非要你給他看,那也是沒法子了……)
6.推薦的書:梁敬彬老師的《收穫,不止Oracle》(這本書技術知識點可能講得不多不細,但是我個人覺得裡邊的一些方法論對於從事IT行業很受用),還有蓋國強老師的書(寫得很好),其它還有一些入門書隨意看看如「Oracle PL/SQL從入門到精通」這類的;學習網站呢比較常用的就是itpub了。
介紹三本書非常適合Oracle的初學者(也是閱讀的順序)。
1. 《Oracle SQL培訓教程 - 從實踐中學習Oracle SQL及Web快速應用開發》(第2版),2009年12月出版,作者:何明 何茜穎。
2。《Oracle DBA培訓教程 - 從實踐中學習Oracle 資料庫管理和維護》(第2版),第2次印刷,2009年出版,作者:何明。
3. 《Oracle 快速Web應用開發- 從實踐中學習Oracle Application Express》,2010年1月出版,作者:何明 何茜穎。
三本書都是清華大學出版社出版,每本書都附有DVD和AVI格式的視頻教學錄像。
另外就是找專業的WDP機構做系統的培訓輔導,有老師帶著學還是好得多,
有個做的不錯的Oracle/Linux/mysql等技術的論壇可以參考下bbs.cqsztech.com/
學習ORACLE不是一朝一夕就可以學好的,其中涉及到很多其他方面的知識,比如計算機網路,操作系統,演算法等,學習ORACLE會接觸到幾乎所有的IT基礎學科。第一要有面對前方無知種種困難的準備;第二要有正確的學習方法,不能靠死記硬背,要知道其中的緣由,才會由深度到高度,初學者強烈推薦閱讀官方文檔;第三就是要多實踐,實踐才能檢驗理論的正確性,以及對知識會有更加深入的理解;第四就是書本的選擇,不要相信快速精通ORACLE之類的書,噹噹上有很多書,以及很多DBA大佬出的書,都值得一看。
感覺直接看官方的手冊是最好的。。。當然你的引文能力要過關才行。
Oracle Database 11g DBA手冊.pdf
《Oracle資料庫實例教程》《Oracle PL/SQL實例精解》 主要還是要自己多動手實踐操作
Troubleshooting Oracle Performance
何明的書可參考!
ORACLE 大型資料庫系統在AIX/UNIX上實戰詳解
推薦閱讀:
※如何學會提好的問題?
※初三提高語文的方法?
※有哪些常見但大部分人不認識的漢字?
※有哪些與日語的詞源/詞根研究有關的書籍?
※在大學裡要怎麼學習?
