基本信息
作者:蓋國強
市場價:¥69.00
出版社:人民郵電出版社
頁碼:527頁
出版日期:2009年
ISBN:9787115190772
版本:1版
裝幀:平裝
開本:16
叢書名:IT名人堂
內容簡介
《深入淺出——DBA入門、進階與診斷案例》給出了大量取自實際工作現場的實例,在分析實例的過程中,兼顧深度與廣度,不僅對實際問題的現象、產生原因和相關的原理進行了深入淺出的講解,更主要的是,結合實際套用環境,提供了一系列解決問題的思路和方法,包括詳細的操作步驟,具有很強的實戰性和可操作性。
作者簡介
蓋國強,網名eygle,OracleACE總監,ITPUBOracle管理版版主,ITPUB論壇超級版主,《程式設計師》雜誌特邀專家顧問,目前從事獨立的諮詢顧問服務。曾任職於某國家大型企業,服務於菸草行業,開發過基於Oracle資料庫的大型ERP系統;後任職於北京某電信增值服務商企業,提供電信級資料庫的規劃與運維支持。實踐經驗豐富,長於資料庫診斷、性能調整與SQL最佳化等。對於Oracle內部技術等具有深入研究。高級培訓講師,培訓經驗豐富,曾主講Itpubdba培訓及Itpub高級性能調整等主要課程。2008年2月,被Oracle公司授予OracleACEDirector(ACE總監)稱號。2007年7月,出版個人專著《循序漸進Oracle:資料庫管理、最佳化與備份恢復》一書。2007年3月,被Oracle公司授予OracleACE稱號。2006年8月,在“中國首屆傑出資料庫工程師評選”活動中,獲評為“十大傑出資料庫工程師”之一。2006年7月,出版個人專著《深入淺出Oracle-DBA入門、進階與診斷案例》一書。2005年6月,擔任《Oracle資料庫性能最佳化》一書的主編及主要作者。2004年2月,擔任《Oracle資料庫DBA專題技術精粹》一書的主編及主要作者。
專業書評
轉眼間《深入淺出——DBA入門、進階與診斷案例》一書已經出版兩年有餘。作為ITPUB技術叢書系列中面向入門與進階者的一本資料庫專著,《深入淺出——DBA入門、進階與診斷案例》給ITPUB上的讀者帶來了巨大的知識價值,幫助很多讀者進入資料庫管理的這個行業,找到了很多個人發展機會。在此,作為ITPUB的主持人和聯繫人,感謝作者對本書所做出的辛勤工作和知識分享,也期待再版的新書,能夠為讀者帶來更多的新知識。
黃志洪(tigerfish)ITPUB論壇創始人
Eygle一向是能長期堅持的人,這么多年不斷地學習、不斷地分享。獨樂樂不如眾樂樂,開放、分享是網際網路的精神,可以說我們這一代人成長於網際網路又回饋於網際網路,《深入淺出——DBA入門、進階與診斷案例》則是Eygle回饋內容的升華。希望《深入淺出——DBA入門、進階與診斷案例》能幫助到正在這個方向上努力著的資料庫從業人員,同時也希望大家能將這種分享的精神,傳遞給正要從事這個行業的人。
馮春培(Biti_rainy)阿里巴巴首席DBAOracleACEDirector
近五載來,資料庫江湖王國人才輩出,但環顧國內,在技術上能讓我服膺者少之又少,國強便是其中之一,竊以為,堪稱國內資料庫界之牛耳者,國強或可勉力為之,國強對資料庫的精通應已達舉重若輕、大巧不工之境。古人有“術”、“道”之論,以資料庫技術而論,國強應近乎道矣!
牛新莊中國建設銀行特聘資深資料庫專家IBM官方認證資深軟體專家
作者蓋國強(Eygle)是認識的DBA中,較早開始做Oracle,而且又能持之以恆、堅持不懈研究的人,非常值得敬佩。我曾經看過作者很多實際中的診斷案例,可以看到其思維非常嚴謹。在《深入淺出——DBA入門、進階與診斷案例》中,收錄了大量作者作為資深DBA所遇到的實際案例,我相信,這種實際的經驗總結能給大家非常大的幫助。
陳吉平淘寶網首席DBA,OracleACE《構建Oracle高可用環境》作者
目錄
第1章資料庫的啟動和關閉
1.1資料庫的啟動
1.1.1啟動資料庫到NOMOUNT狀態的過程
1.1.2啟動資料庫到MOUNT狀態
1.1.3啟動資料庫OPEN階段
1.2資料庫的訪問
1.2.1客戶端的TNSNAMES.ORA檔案配置
1.2.2伺服器端的監聽器檔案listener.ora配置
1.2.3通過不同伺服器名對資料庫的訪問
1.2.4動態監聽器註冊服務
1.3資料庫的關閉
1.3.1資料庫關閉的步驟
1.3.2幾種關閉方式的對比
第2章控制檔案與資料庫初始化
2.1控制檔案的內容
2.2 SCN
2.2.1 SCN的定義
2.2.2 SCN的獲取方式
2.2.3 SCN的進一步說明
2.3 檢查點(Checkpoint)
2.3.1 檢查點(Checkpoint)的工作原理
2.3.2 常規檢查點與增量檢查點
2.3.3 LOG_CHECKPOINT_TO_ALERT參數
2.3.4 控制檔案與數據檔案頭信息
2.3.5 資料庫的啟動驗證
2.3.6 使用備份的控制檔案
2.3.7 FAST_START_MTTR_TARGET
2.3.8 關於檢查點執行的案例
2.3.9 Oracle10g自動檢查點調整
2.3.10 檢查點信息及恢復起點
2.3.11 正常關閉資料庫的狀況
2.3.12 資料庫異常關閉的情況
2.3.13 資料庫並行恢復案例一則
2.3.14 判斷一個死事務的恢復進度
2.4 資料庫的初始化
2.4.1 bootstrap$及資料庫初始化過程
2.4.2 bootstrap$的定位
2.4.3 Oracle中獨一無二的Cache對象
2.4.4 Oracle資料庫的引導
2.4.5 系統對象與bootstrap$
2.4.6 bootstrap$的重要性
2.4.7 BBED工具的簡要介紹
2.4.8 壞塊的處理與恢復
第3章 參數及參數檔案
3.1 初始化參數的分類
3.1.1 推導參數(DerivedParameters)
3.1.2 作業系統依賴參數
3.1.3 可變參數
3.1.4 初始化參數的獲取
3.2 參數檔案
3.2.1 PFILE和SPFILE
3.2.2 獲取參數的視圖
3.2.3 SPFILE的創建
3.2.4 SPFILE的搜尋順序
3.2.5 使用PFILE/SPFILE啟動資料庫
3.2.6 修改參數
3.2.7 解決SPFILE參數修改錯誤
3.2.8 重置SPFILE中設定的參數
3.2.9 判斷是否使用了SPFILE
3.2.10 SPFILE的備份與恢復
3.2.11 Oracle11g參數檔案恢復
3.2.12 如何設定Events事件
3.2.13 導出SPFILE檔案
3.3 診斷案例之一:參數檔案
3.3.1 登錄系統檢查告警日誌檔案
3.3.2 嘗試重新啟動資料庫
3.3.3 檢查數據檔案
3.3.4 MOUNT資料庫,檢查系統參數
3.3.5 檢查參數檔案
3.3.6 再次檢查alert檔案
3.3.7 修正PFILE
3.3.8 啟動資料庫
3.4 診斷案例之二:RAC環境參數檔案
3.4.1 資料庫資源異常
3.4.2 問題的發現
3.4.3 參數檔案問題的解決
第4章 數據字典
4.1 數據字典概述
4.2 內部RDBMS(X$)表
4.3 數據字典表
4.4 靜態數據字典視圖
4.4.1 靜態數據字典視圖的分類
4.4.2 靜態數據字典視圖的內部實現
4.4.3 常用數據字典視圖舉例
4.5 動態性能視圖
4.5.1 GV$和V$視圖
4.5.2 GV_$、V_$視圖和V$、GV$同義詞
4.5.3 進一步的說明
4.5.4 動態性能視圖與資料庫啟動
4.6 最後的驗證
4.6.1 V$PARAMETER的結構
4.6.2 視圖還是同義詞
4.6.3 Oracle如何通過同義詞定位對象
第5章 記憶體管理
5.1 PGA管理
5.1.1 什麼是PGA
5.1.2 UGA與CGA
5.1.3 PGA管理技術的變遷
5.1.4 參數的設定與記憶體分配
5.1.5 自動PGA管理實現原理
5.1.6 PGA的調整建議
5.1.7 PGA的轉儲
5.2 SGA管理
5.2.1 SGA的組成
5.2.2 SGA與共享記憶體
5.2.3 SGA管理的變遷
5.3 Oracle的記憶體分配和使用
5.3.1 診斷案例一:SGA與SWAP
5.3.2 診斷案例二:SGA設定過高導致的系統故障
5.3.3 診斷案例三:如何診斷和解決CPU高度消耗(100%)問題
第6章 BufferCache與SharedPool原理
第7章 重做(Redo)
第8章 回滾與撤銷
第9章 等待事件
第10章 性能診斷與SQL最佳化
……
序言
關於本書
根據Gartner公司最近發布的關係資料庫2007年市場份額報告,Oracle以48.6%的高份額再占首位。而2006年Gartner的統計數據顯示Oracle的市場份額為47.9%,也就是說在2007年度,Oracle獲得了0.7%的份額增長。
不管這些市場份額數據怎樣在發生微小的變化,有一點是肯定的,Oracle資料庫持續的占有了市場第一的位置,在本書第一版出版的兩年多時間,國內的Oracle從業市場和學習環境都有了進一步的發展和進步,甚至有些大學已經開設了專門的Oracle系列課程或專業方向,從事資料庫管理工作的朋友們也越來越多。
為了讓更多進入Oracle領域的朋友能夠快速了解和掌握Oracle技術,讓具備一定經驗和積累的Oracle從業人員繼續深入學習,作者傾力修訂了本書。
本書作者活躍於國內著名Oracle技術論壇ITPUB(www.itpub.net),並全力打造國內最具影響力的個人Oracle技術站點Eygle.com(www.eygle.com),本書從基礎出發,逐層深入,並結合實際工作中的診斷案例進行全面講解,力圖從點到面,讓讀者對每個主題都有深入的了解和認識。
本書特點
目前市場上的Oracle書籍普遍存在的問題是模式單一,要么只講基礎知識,要么側重代碼編程實例,要么針對具體的版本特性(Oracle9i/lOg/11g等),要么缺少實踐套用檢驗,很少能對Oracle相關知識進行全面深入講解。
本書針對這些問題,從基礎知識入手,再進行深入研究,結合性能調整、診斷案例實踐,將Oracle知識全面、系統、深入地展現給讀者:本書內容更涉及Oracle資料庫的多個版本8i/9i/lOg/11g,將Oracle的版本變化和功能改進,一以貫之地展現出來,讓大家看到這些變革的真正原因以及Oracle的不斷技術創新,通過真實案例的學習,更可以加深大家對現實環境的了解,從而提高實踐能力。
本書是作者多年實踐工作的積累和總結,各章更從DBA的成長曆程入手,引導大家快速進入並深入Oracle知識的國度。
延伸 1
1.Oracle電子商務套件(OracleE-BusinessSuite)Oracle電子商務套件是行業中第一個集成的基於網際網路的商務套用套件,它將前台與後台運營中的關鍵業務流程自動化。Oracle電子商務套件涵蓋了行銷、銷售、服務、契約、定單管理、產品設計、採購、供應鏈、製造、財務、項目管理、人力資源與專業服務自動化在內的企業中每一個領域的業務。2001年全球共有1100多家企業實施了Oracle電子商務套件,目前全球已經有超過12000家用戶正在獲益於Oracle電子商務套件所帶來的前所未有的好處。自從Oracle電子商務套件首次面世以來,甲骨文公司已經推出了6種電子商務套件的增強版本,從而形成了一整套成熟的、功能齊全的套用套件。Oracle電子商務套件能夠使用戶在實施業務套用時擁有前所未有的可選擇性與靈活性,它的開放式基礎架構與單一數據模型使用戶在部署套件中的套用軟體時擁有多種選擇,既可以單獨使用,也可以組成業務流,還可以作為一個整體的集成套件來部署。Oracle電子商務套件既可以作為用CDROM為載體的傳統軟體的形式,也可以作為一種線上服務的形式來提供給用戶。
延伸 2
2.Oracle10g——新一代電子商務平台Oracle10g是業界第一個完整的、智慧型化的新一代Internet基礎架構,Oracle10g電子商務平台實際上是指Oracle資料庫10g、Oracle套用伺服器10g和Oracle開發工具套件10g的完整集成。Oracle資料庫10g是第一套具有無限可伸縮性與高可用性,並可在集群環境中運行商業軟體的網際網路資料庫,具有400多個領先的資料庫功能,在集群技術、高可用性、商業智慧型、安全性、系統管理等方面都實現了新的突破。作為甲骨文公司長達十年的軟體技術研發成果,真正套用集群技術(RealApplicationClusters)能夠提供近乎無限的擴充能力與整體可用性,為用戶帶來透明的、高速增長的集群功能。Oracle套用伺服器10g是J2EE認證的、最輕、最快、最具伸縮性的套用伺服器,提供了企業門戶軟體、無線支持、高速快取、輕量級J2EE引擎、商務智慧型、快速套用開發、套用與業務集成、Web服務等多種套用開發功能,形成完整的電子商務套用開發和部署環境。使用了Oracle套用伺服器10g的用戶可以通過升級軟體來取代升級硬體,大大的節省了基礎設施的成本花費。Oracle開發工具套件10g是一套完整的集成開發工具,可用於快速開發使用Java和XML語言的網際網路套用和Web服務,支持任何語言、任何作業系統、任何開發風格、開發生命周期的任何階段以及所有最新的網際網路標準。9i之後的Oracle的硬體要求很高,(Windows版本)9i建議配512M記憶體,10g建議配1G記憶體。
文摘
通常所說的OracleServer主要由兩個部分組成:Instance和Database。Instance是指一組後台進程(在Windows上是一組執行緒)和一塊共享記憶體區域,Database是指存儲在磁碟上的一組物理檔案。通過Instance與Database協同,Oracle資料庫才能形成一個動態的可訪問關係型資料庫系統。
本章將由資料庫如何啟動與關閉入手,開始和大家一起進入Oracle資料庫的國度。
1.1資料庫的啟動
從表象來看,資料庫的啟動極其簡單,只需要以SYSDBA/SYSOPER身份登錄,輸入一
條startup命令即可啟動資料庫。然而在這條命令之後,Oracle需要執行一系列複雜的操作,深入理解這些操作不僅有助於了解Oracle資料庫的運行機制,還可以在故障發生時幫助用戶快速的定位問題的根源所在,所以接下來將分析一下資料庫的啟動過程。
Oracle資料庫的啟動主要包含3個過程:
啟動資料庫到NOMOUNT狀態;
啟動資料庫到MOUNT狀態:
啟動資料庫到OPEN狀態。
完成這3個過程,資料庫才能進入就緒狀態,準備提供數據訪問。圖1-1描述了一個數
據庫從SHUTDOWN(關閉)狀態到OPEN狀態經歷的這些過程(關閉過程與此相反,是一個逆向過程)。
後記
感謝你,我的朋友們,如果你已經讀完本書,並且有所收穫,那將是我最願意聽到的好訊息。如果讀過本書的第一版,又讀了這本第二版,你一定可以發現Oracle資料庫已經發生了很大的變化,有些變化是顯而易見的,也有很多變化可能是來自內部、潛移默化的,不過我一直試圖跟上這些變化,並且將我所理解的知識和大家分享。這是這些年我一直不停在做的工作。從《深入淺出Oracle——DBA入門、進階與診斷案例》到《深入解析Oracle——DBA入門、進階與診斷案例》,這本書真實地見證了我的Oracle生涯、我的學習方法,我在學習和工作中遇到的疑難和案例,都在本書中進行了選擇性的收錄,並作了詳細的分析和講解,我的思考、我的思路、我的成長,在這本書中展露無疑。
也許你看到的一個簡簡單單的案例,在實際生產中就曾經是一個導致巨大損失的災難;也許你看到的一個輕輕易易的SQL最佳化,在實際生產中卻曾經困擾良久。書中幾乎每個案例都來自不同的公司、不同類型的生產環境,有著不同的故事。
我就是在這樣的自我學習和問題解決過程中走過來的,很高興能通過本書再經歷了這樣一段歷程,而且這一次,還有了這么多朋友的陪伴。
算起來,接觸Oracle已經有8年之久了,在北京的漂泊也已經超過了5年。時間總是流逝的飛快。我的職業生涯中已經經歷了Oracle從8i到119這么多個版本的變遷,而當然我的生活也已經發生了很大的改變。在編寫本書第一版的時候,我還只是一個人,而現在,我已經有了妻子和兒子的陪伴,等我的那個小傢伙能夠坐在書桌前寫他自己的文字時,我們又將會經歷怎樣的生活呢?而這本書呢?它又陪伴著你度過了怎樣的時光。