內容介紹
《Oracle DBA手記》由多位資料庫技術專家合著而成,融合了各行業DBA的工作經驗與思考,包含了精心挑選的資料庫性能最佳化與內部原理解析案例。內容涵蓋“DBA手記”,以手記形式記錄了DBA們的工作點滴、經驗分享;“SQL與SQL最佳化”,分別講解了SQL的執行計畫,SQL Profile的使用,以及Oracle中的NULL值解析;“內部原理與最佳化”,分別介紹了Oracle的索引分裂、TX鎖等待、閂鎖原理、邏輯讀寫、隱含參數與Latch原理等的內部操作。
《Oracle DBA手記》的主要內容以原理分析、內部實踐、故障解決為依據,將Oracle資料庫的深層技術層剖縷析、抽絲剝繭地展示給讀者。希望能夠幫助讀者加深對Oracle技術的認知和理解,並將這些技術套用到實踐中去。
作者介紹
蓋國強,網名eygle,ITPUB Oracle管理版版主,ITPUB論壇超級版主。
曾任職於某大型國有企業,開發過基於Oracle資料庫的大型ERP系統,屬國家信息產業部重點工程。同時負責Oracle資料庫管理及最佳化,並為多家菸草企業提供Oracle資料庫管理、最佳化及技術支持。
目前任職於北京某電信增值服務系統提供商企業(Nasdaq上市公司),技術支持部總監兼首席DBA。管理全國30多個資料庫系統,項目經驗豐富,曾設計規劃及支持中國聯通增值業務等大型資料庫系統。
楊廷琨 網名 Yangtingkun,ITPUB Oracle資料庫管理版版主,有ITPUB上百科全書之雅稱,涉獵之廣、作品之豐一時無人可出其右,曾參於編寫《(Oracle資料庫性能最佳化》、《Oracle DBA手記》等技術著作。
作品目錄
Part1 DBA 之路0 人生就是如此—馮春培感悟之路 Part2 DBA 手記1 楊廷琨的DBA手記 TRUNCATE 語句時間過長的診斷 隱式轉換影響物化視圖查詢重寫 批量修改數據後應收集統計信息 如何監測一個PL/SQL 過程的運行情況 一次RAC 環境性能診斷過程 數據泵功能靈活運用案例2 姜龍的DBA 工作手記 同義詞降低邏輯讀最佳化一則 11gR2 中物化視圖在真實案例中的套用 利用TimesTen 記憶體資料庫大幅提升性能 參考文獻3 面向程式設計師的資料庫訪問性能最佳化法則 資料庫訪問最佳化法則簡介 Oracle 資料庫的兩個基本概念 資料庫訪問最佳化法則詳解4 Linux 大記憶體頁Oracle 資料庫最佳化 案例的引入 作業系統中的CPU 使用分析 使用大記憶體頁來解決問題 小結Part3 SQL與SQL最佳化5 SQL 執行計畫解讀與案例分析 得到SQL 的真實執行計畫 執行計畫的執行順序 10g/11g 里執行計畫的一些增強 綁定變數對執行計畫的影響 10053 事件分析執行計畫一例 看似正常的執行計畫導致嚴重性能問 題的案例 監聽連線時間過長案例外一則6 使用SQL Profile 改變和穩定SQL 執行計畫 SQL Profile 與Outline SQL Profile 是什麼 手工創建SQL Profile 使用SQL Profile 穩定SQL 語句的執行計畫 使用SQL Profile 更改SQL 語句的執行計畫 一個使用SQL Profile 的案例7 Oracle 中的NULL 值解析 NULL 的基礎概念和由來 NULL 的布爾運算的特點 NULL 的默認數據類型 空字元串‘’與NULL 的關係 NULL 和索引 NULL 的其他方面特點Part4 內部原理與最佳化8 B*Tree 索引中的數據塊分裂 如何分裂 樹的生長 存儲參數 分裂事務控制 數據塊分配 等待事件 附:10g 中如何構建“高”索引9 事務佇列等待(TX Enqueue)深入分析 記錄鎖 ITL 爭用 索引爭用 唯一性約束 點陣圖索引維護 外鍵約束 其他爭用10 Oracle 的Latch 最佳化深入解析 Latch 相關的視圖 Latch Free(閂鎖釋放) Shared Pool Latch 的研究 row cache objects Latch:row cache objects 案例 也許Bug 曾經來過 Oracle 的spare parameter cursor: pin S wait on X 事件 為什麼硬解析如此昂貴 Oracle 11g 的dc_object_ids Row Cache 的進一步分析 總結 參考文獻11 Oracle 邏輯讀寫深入分析 全表掃描I 全表掃描II 全表掃描III 一致性讀 當前模式 排序 索引掃描12 隱含參數與Library Cache、Shared Pool Latch原理—— 一次由隱含參數引起性能問題的處理 案例之問題現象 問題分析 問題的解決 問題的驗證 問題總結