為什么要寫這本書2008年的某一天,我懷著激動的心情參加了支付寶公司的面試,這次面試讓我對國內(nèi)最前沿的數(shù)據(jù)庫自動化運維技術(shù)有了初步的認識,對我的職業(yè)生涯影響非常大,時刻激勵著我以后不管遇到什么困難或者誘惑,Oracle始終都是我追逐的愛好和目標。
在接下來幾年的工作中,我較為深入地研究了C語言數(shù)據(jù)結(jié)構(gòu)、Linux操作系統(tǒng)原理以及Shell(PHP/Java)編程等知識,這些技術(shù)能夠很好地支撐Oracle運維管理。同時,多年的經(jīng)驗告訴我,對集運維與開發(fā)于一體的Oracle運維管理體系來而言,精通一門開發(fā)語言是相當有必要的,因為只有這樣才可以更為深入地了解數(shù)據(jù)庫與業(yè)務程序之間的架構(gòu)設(shè)計,并能夠更為精確地把控Oracle管理優(yōu)化,從而在面對各種疑難問題時找到解決的突破口。
2014年,我有幸與來自支付寶開發(fā)團隊和淘寶運維團隊的伙伴共事,學習交流了來自阿里的系統(tǒng)架構(gòu)設(shè)計及運維管理理念,這使我編寫自動化數(shù)據(jù)庫運維書籍的想法更加強烈,并希望通過書籍與大家分享自己多年的工作經(jīng)驗。
本書主要特色由于Oracle運維管理的專業(yè)性門檻較高,導致Oracle運維管理成本增加。在這種情況下,如何深入掌握Oracle,如何提高數(shù)據(jù)庫運維效率成為許多數(shù)據(jù)庫管理者的困擾。盡管國內(nèi)有關(guān)Oracle方面的書籍繁多,但卻沒有一本真正意義上介紹Oracle數(shù)據(jù)庫運維自動化的書。本書從與Oracle緊密相關(guān)的操作系統(tǒng)層面入手,將操作系統(tǒng)架構(gòu)與Oracle體系有機整合,以逐步深入的方式將Oracle基礎(chǔ)理論運用到實際操作中,引導讀者在面對故障時找到處理問題的正確方法。同時,結(jié)合開放式可擴展的自動化運維體系,將數(shù)據(jù)庫運維工作按需自動化,在保障數(shù)據(jù)庫高性能運行的同時,大大提高了數(shù)據(jù)庫運維工作的效率。
本書讀者對象根據(jù)本書的內(nèi)容特點,可以將閱讀對象分為以下幾類:
Oracle數(shù)據(jù)庫管理人員;Oracle數(shù)據(jù)庫開發(fā)人員;應用架構(gòu)師;數(shù)據(jù)庫架構(gòu)師;系統(tǒng)集成架構(gòu)師;運維管理維護人員;數(shù)據(jù)庫技術(shù)愛好者。
如何閱讀本書閱讀本書前需要對Oracle基礎(chǔ)知識有一定的了解和掌握,只有這樣才能保證閱讀的暢通性。如果對某些知識點存在困惑,可以查閱Oracle在線官方文檔(http://docs.oracle.com)獲取幫助。
本書共10章,分為三篇:基礎(chǔ)篇、優(yōu)化篇、方法篇。
基礎(chǔ)篇(第1~4章)主要介紹了Linux環(huán)境下Oracle內(nèi)存體系架構(gòu)的組成和功能,同時對Oracle日志與回滾段內(nèi)容進行了講解,在幫助讀者深入理解Oracle知識體系的同時,為后續(xù)數(shù)據(jù)庫優(yōu)化及備份恢復打下基礎(chǔ)。
優(yōu)化篇(第5~6章)主要介紹了Oracle SQL優(yōu)化的原理和思想,并結(jié)合CBO優(yōu)化器對Oracle優(yōu)化進行探索。其中,SQL優(yōu)化原理和思想是CBO優(yōu)化的基礎(chǔ),將兩者結(jié)合即可提供Oracle數(shù)據(jù)庫優(yōu)化參考。
方法篇(第7~10章)主要講解了Oracle備份恢復的原理,以及如何制訂符合自身數(shù)據(jù)庫特點的Oracle備份恢復計劃。同時,結(jié)合自動化運維管理系統(tǒng)、自動化歷史分析系統(tǒng)及自動化實時監(jiān)控系統(tǒng)對數(shù)據(jù)庫自動化運維進行實踐,幫助數(shù)據(jù)庫維護人員從大量重復煩瑣的運維工作中解放出來,實現(xiàn)高效率、自動化的數(shù)據(jù)庫管理。
勘誤和資源由于本人水平有限,編寫時間也比較倉促,書中難免有錯誤或者不準確的地方,在此懇請讀者朋友批評指正。你可以 將書中的錯誤發(fā)送到Bug勘誤表頁面中,同時,書中的源碼文件也會發(fā)布到華章公司的網(wǎng)站上并及時更新。如果有任何疑問或者建議,也歡迎發(fā)送郵件,期待你們真摯的意見反饋。
致謝感謝Oracle技術(shù)社區(qū)的支持以及來自BAT等企業(yè)的同事和朋友們的技術(shù)分享,感謝Oracle小筑以及Unix DBA等技術(shù)社區(qū)的朋友們,他們包括但不限于李培躍、丁鐵球、周操、文智輝、許劍鋒、陶衛(wèi)、賀學兵、周立明、李杰斌、羅炳森、龔明全、蹇波等。
感謝機械工業(yè)出版社華章公司的楊福川老師和李藝老師,你們的專業(yè)和熱情深深地打動了我,讓我能夠堅持完成本書的編寫。同時感謝你們對本書頁面排版等方面的建議和支持。
感謝公司的同事和領(lǐng)導,謝謝你們給予我較為充裕的時間來完成本書。
特別感謝我的朋友李亞、李純香、鄭勇斌,謝謝你們對本書的大力支持。需要額外感謝的還有蓋國強老師以及馮大輝老師等。
最后要感謝我的妻子劉楊及父母對我和孩子的照顧,因為有了你們的理解和支持,才使我有充足的時間和精力來完成本書。
謹以本書獻給那些還在追逐、熱愛Oracle技術(shù),并依然堅持夢想的朋友們。
冷 菠
冷菠,DBA,有近10年Oracle數(shù)據(jù)庫管理與運維經(jīng)驗,曾擔任美資企業(yè)Senior DBA職務、支付寶成都公司數(shù)據(jù)庫團隊負責人,現(xiàn)就職于上市公司海康威視重慶分公司。
擅長數(shù)據(jù)庫備份恢復、數(shù)據(jù)庫性能診斷優(yōu)化以及數(shù)據(jù)庫運維自動化等,對于主機存儲、網(wǎng)絡、系統(tǒng)業(yè)務架構(gòu)、大數(shù)據(jù)有較為深入的研究。目前致力于大數(shù)據(jù)、智能一體化、開源云計算等領(lǐng)域的佳實踐探索。主要涉及領(lǐng)域有通信、金融、游戲、政府部門以及傳統(tǒng)制造業(yè)領(lǐng)域。
網(wǎng)名悠然,活躍于國內(nèi)外Oracle、Unix技術(shù)交流群。