Oracle數據庫性能優化

所属分类:數據庫  
出版时间:2005-6   出版时间:人民郵電出版社   作者:蓋國強   页数:479  

内容概要

  《Oracle 數據庫性能優化》面向實際應用,從多個角度出發,對Oracle優化中的很多關鍵問題進行了深入全面的探討,涵蓋了Oracle優化的各個技術層面,從內存優化、IO規劃及優化,到SQL優化調整,以較為完整的體系闡述了Oracle的優化技術。  《Oracle 數據庫性能優化》給出了大量取自實際工作現場的實例。在分析實例的過程中,兼顧深度與廣度,不僅對實際問題的現象、產生原因和相關的原理進行了深入淺出的講解,更主要的是,結合實際應用環境,提供了一系列解決問題的思路和方法,包括詳細的操作步驟,具有很強的實戰性和可操作性,滿足面向實際應用的讀者需求。

书籍目录

第一篇 優化工具篇第1章 DBA優化之路	31.1 學習的建議	31.2 工具推薦	41.3 關于操作系統方面的建議	41.4 關于Oracle初始化參數的調整	51.5 關于Statspack的若干建議	61.6 關于logmnr在調優中的運用	71.7 關于materialized view在調優中的運用	81.8 關于Stored Outline在SQL優化中的運用	81.9 用dbms_profiler調優存儲過程	81.10 優化前的準備工作	91.11 如何對SQL進行調整及優化	101.12 表結構優化實例	121.13 如何對session進行跟蹤	121.14 基于等待事件的性能診斷方法	131.15 基于資源限制的性能診斷方法	141.16 如何減少共享池的碎片	151.17 監控表及索引的意義	171.18 通過優化SQL消除temp表空間膨脹	171.19 理解compress選項在優化上的作用	191.20 關于在線重定義table的建議	191.21 關于分區表在數據庫設計時的建議	201.22 關于DataGuard在高可用方面的建議	20第2章 Statspack高級調整	232.1 Statspack高級調整譯文	242.1.1 Top 5 Wait Events	242.1.2 等待時間快捷參考	262.2 關于Latch	27第3章 Statspack使用的幾個誤區	333.1 以命中率為主衡量性能問題	333.2 快照的采樣時間間隔問題	353.3 以偏概全	363.4 關于TIMED_STATISTICS參數的設定	363.5 你成了泄密者	37第4章 TKPROF工具使用簡介	394.1 TKPROF工具簡介	394.2 TKPROF工具的使用步驟	404.3 TKPROF工具如何分析trace文件	41第5章 使用Oracle的等待事件檢測性能瓶頸	455.1 判斷等待事件的相關視圖	465.1.1 系統級統計信息v$system_event	465.1.2 會話級統計信息v$session_event	485.1.3 會話詳細性能信息 v$session_wait	485.1.4 會話等待事件的相關視圖之間的關系	505.2 應該怎麼考慮進行優化	505.3 主要等待事件	515.4 案例分析	545.5 小結	595.6 附錄	59第6章 使用SQL_TRACE/10046事件進行數據庫診斷	636.1 SQL_TRACE及10046事件的基礎介紹	636.1.1 SQL_TRACE說明	636.1.2 10046事件說明	676.1.3 獲取跟蹤文件	686.1.4 讀取當前session設置的參數	686.2 案例分析之一	696.2.1 問題描述	696.2.2 檢查並跟蹤數據庫進程	696.2.3 檢查trace文件	706.2.4 登錄數據庫檢查相應表結構	716.2.5 解決方法	726.2.6 小結	736.3 案例分析之二	736.3.1 問題描述	736.3.2 drop user出現問題	746.3.3 跟蹤問題	746.3.4 問題定位	766.3.5 實際處理	776.3.6 小結	786.4 10046與等待事件	786.4.1 10046事件的使用	786.4.2 10046 與db_file_multiblock_read_count	806.4.3 10046與執行計劃的選擇	826.4.4 db_file_multiblock_read_count與系統的IO能力	836.4.5 小結	85第二篇 存儲優化篇第7章 表空間的存儲管理與優化技術	897.1 表空間的作用與分類	897.2 字典管理表空間	907.2.1 字典管理表空間的特性	907.2.2 字典管理表空間的缺點	917.2.3 字典管理表空間的優化	927.3 本地管理表空間	927.3.1 本地管理表空間的特性	927.3.2 管理位圖塊的內部結構	947.3.3 本地管理表空間的優點	947.4 段自動管理表空間	957.4.1 段自動管理表空間的特性	957.4.2 位圖管理段內部結構	967.4.3 段自動管理表空間的優化	987.5 9i對表空間的管理優化	987.5.1 自動undo管理的表空間	987.5.2 完全本地的臨時表空間	997.6 Oracle 10g對表空間的優化	997.7 小結	997.8 附錄	99第8章 關于Oracle數據庫中行遷移/行鏈接的問題	1018.1 行遷移/行鏈接的簡介	1018.2 行遷移/行鏈接的檢測方法	1068.3 行遷移/行鏈接的清除方法	108第9章 HWM與數據庫性能的探討	1219.1 什麼是HWM	1219.2 初始創建的table中HWM的不同情況	1229.3 insert數據時HWM的移動	1289.4 HWM對性能的影響	1319.5 何時應該降低HWM	1359.5.1 對于LMT下的FLM	1359.5.2 對于ASSM	1369.6 如何降低HWM	1379.6.1 Move	1379.6.2 DBMS_REDEFINITION	1429.6.3 Shrink	1439.6.4 小結	1489.7 其他幾種會移動HWM的操作	1489.7.1 Insert Append	1489.7.2 Truncate	152第10章 調整I/O相關的等待	15310.1 Oracle數據庫I/O相關競爭等待簡介	15310.2 Oracle數據庫I/O相關競爭等待的處理方法	15410.3 Oracle數據庫I/O相關的等待事件和相應的解決方法	15710.3.1 數據文件相關的I/O等待事件	15810.3.2 控制文件相關I/O等待事件	16310.3.3 重做日志文件相關的等待事件	16410.3.4 高速緩存區相關的I/O等待事件	16610.4 小結	169第11章 Oracle在Solaris的 VxFS上的異步I/O問題	17111.1 VxFS文件系統的簡介	17111.2 VxFS文件系統上如何啟用異步I/O	17111.3 如何檢測在VxFS文件系統上是否支持異步I/O	17211.4 如何查看VxFS文件系統上異步I/O的性能	17311.5 如何轉換VxFS文件系統上數據文件為支持異步I/O的數據文件	174第12章 關于Freelists和 Freelist Groups的研究	17712.1 什麼是Freelists	17712.2 Freelists是否已經過時	17812.3 Freelists存儲在哪里	17812.4 有多少種free list	18012.5 進程請求空閑塊的過程	18212.6 塊在free list間的移動	18412.7 關于free list將導致大量空間浪費的誤解	18512.8 關于Freelists和Freelist Groups的一個比喻	18612.9 與Freelists和Freelist Groups相關的等待事件	186第三篇 內存調整篇第13章 自動PGA管理──原理及優化	19313.1 什麼是PGA內存自動管理	19313.2 PGA Advice功能	19913.3 自動PGA內存管理相關初始化參數	201第14章 32bit Oracle SGA擴展原理和 SGA與PGA的制約關系	20314.1 如何識別32bit的Oracle	20314.2 為何存在1.7GB的限制	20414.3 32bit下SGA與PGA之間的制約關系	207第15章 KEEP池和RECYCLE池	21315.1 Oracle的數據緩沖池	21315.2 KEEP池和RECYCLE池	21415.2.1 KEEP池	21515.2.2 RECYCLE池	21915.3 小結	221第16章 深度分析數據庫的熱點塊問題	22316.1 熱點塊的定義	22316.2 數據緩沖區的結構	22316.3 如何確定熱點對象	22416.4 熱點問題的解決	22816.5 熱點塊的其他相關癥狀	23016.6 小結	231第17章 Shared Pool原理及性能分析	23317.1 Shared Pool的基本原理	23317.2 Shared Pool的設置說明	23317.2.1 基本知識	23417.2.2 Shared Pool的Free List管理	23517.2.3 了解X$KSMSP視圖	24017.3 診斷和解決ORA-04031錯誤	24417.3.1 什麼是ORA-04031錯誤	24417.3.2 內存泄露	24517.3.3 綁定變量和cursor_sharing	24617.3.4 使用Flush Shared Pool緩解共享池問題	24717.3.5 shared_pool_reserved_size參數的設置及作用	24717.3.6 其他	24917.3.7 模擬ORA-04031錯誤	24917.4 Library Cache Pin及Library Cache Lock分析	25217.4.1 Library Cache Pin等待事件	25317.4.2 Library Cache Lock等待事件	25817.5 診斷案例一	25917.6 診斷案例二	26717.7 小結	269第四篇 診斷案例篇第18章 一次性能調整過程總結	27318.1 系統環境	27318.2 基本的調優過程	27318.2.1 db file scattered read	27318.2.2 db file sequential read	27418.2.3 Enqueue	27518.2.4 Latch Free	27518.3 小結	281第19章 電信業Oracle優化手記	28319.1 一條SQL語句要運行2年怎麼辦	28319.2 優化的傳統定律和新時尚	28519.2.1 index和表同一個表空間(過時)	28619.2.2 定期重建索引(過時)	28719.2.3 裸設備應該取代文件系統(過時)	28719.2.4 初始參數設置cursor_sharing=similar(不一定有效)	28819.2.5 初始參數設置fast=true(有效)	28919.3 聯機重做日志的優化	28919.3.1 聯機重做日志組內創建多個成員	28919.3.2 加大redo log的容量	290第20章 一次診斷和解決CPU利用率高的問題分析	29120.1 問題的具體描述	29120.2 問題的詳細診斷解決過程	29220.3 小結	296第21章 一次異常內存消耗問題的診斷及解決	29721.1 問題發現	29721.2 解決過程	29721.2.1 環境介紹	29721.2.2 問題現象	29721.2.3 對比分析	29921.2.4 假設和分析	30021.2.5 找到根源	30221.2.6 解決問題	30321.3 小結	305第22章 如何捕獲問題SQL解決過度CPU消耗問題	30722.1 檢查當前情況	30722.2 使用Top工具輔助診斷	30822.3 檢查進程數量	30922.4 登錄數據庫	30922.5 捕獲相關SQL	31122.6 創建新的索引以消除全表掃描	31322.7 觀察系統狀況	31422.8 性能何以提高	31522.9 小結	317第23章 一條SQL導致數據庫整體性能下降的診斷及解決	31923.1 現象	31923.2 診斷與解決	319第24章 Library Cache Lock成因和解決方法的探討	32724.1 幾個相關的概念	32724.1.1 什麼是庫高速緩存(Library Cache)	32724.1.2 一個SQL語句的處理流程	32724.1.3 硬分析(Hard Parse)	32824.1.4 軟分析(Soft Parse)	32824.1.5 分析樹	32824.1.6 執行計劃	32924.2 了解Library Cache Lock	32924.2.1 幾種容易引起Library Cache Lock的情況	32924.2.2 幾種防患的方法	33024.3 解決問題的方法	33024.3.1 使用X$KGLLK和systemstate事件解決問題	33124.3.2 使用v$session和systemstate事件解決問題	34124.4 小結	348第五篇 SQL優化及其他第25章 Oracle數據庫優化之索引(Index)簡介	35125.1 索引的作用	35225.2 索引管理的常見問題	35325.3 索引的管理	36025.4 一些索引管理的腳本	363第26章 CBO成本計算初探	36726.1 建立測試數據	36726.2 CBO計算成本原理初探	36926.3 初始化參數以及優化器模式對執行計劃的影響	37126.3.1 初始化參數db_file_multiblock_read_count	37126.3.2 初始化參數optimizer_index_cost_adj	37326.3.3 優化器模式FIRST_ROWS對執行計劃的影響	37426.4 小結	375第27章 Bitmap索引	37727.1 Bitmap索引的概念	37727.2 建立測試例子	37827.3 Bitmap索引的特點	38027.3.1 Bitmap索引比B樹索引要節省空間	38027.3.2 Bitmap索引建立的速度比較快	38227.3.3 基于規則的優化器無法使用Bitmap索引	38227.3.4 Bitmap索引存儲NULL值	38427.3.5 通過Bitmap索引訪問表記錄	38527.3.6 Bitmap索引對批量DML操作只需要索引一次	39027.3.7 Bitmap索引的鎖機制	39027.4 Bitmap索引的適用範圍	39027.5 Bitmap索引的使用限制	39127.6 Bitmap Join索引簡介	391第28章 翻頁SQL優化實例	39528.1 系統環境	39528.2 優化效果	395第29章 使用物化視圖進行翻頁性能調整	40529.1 系統環境	40529.2 問題描述	40529.3 捕獲排序SQL語句	40629.4 確定典型問題SQL	40729.5 選擇解決辦法	40929.6 進一步的調整優化	41029.7 小結	412第30章 如何給Large Delete 操作提速近千倍	41330.1 背景描述	41330.1.1 任務描述	41330.1.2 數量級統計和描述	41330.2 背景知識--Bulk Binding	41430.2.1 什麼是Bulk Binding	41430.2.2 Bulk Binding的優點是什麼	41530.2.3 如何進行批量綁定(Bulk Binds)	41530.3 優化過程詳解	42030.3.1 第一次優化--處理龐大的IN-LIST操作	42030.3.2 第二次優化--分段操作	42230.3.3 第三次優化--拆分DELETE操作	42330.3.4 第四次優化--使用FORALL處理批量作業	42430.3.5 第五次優化--使用FORALL+原子級操作	42630.4 小結	430第31章 Web分頁與優化技術	43131.1 什麼是Web分頁	43131.2 表數據普通查詢分頁	43131.3 FIRST_ROWS對分頁的影響	43431.4 帶排序需求的分頁	43931.5 分頁的速度優化	44531.6 分頁中的注意事項	45031.6.1 真實案例──表中存在union all的視圖時,可能選擇錯誤的執行計劃	45031.6.2 真實案例──rowid分頁中,執行計劃的錯誤選擇與處理	45231.6.3 真實案例──使用rownum得到意想不到的結果	45531.7 小結	456第32章 Oracle數據封鎖機制研究	45732.1 數據庫鎖的基本概念	45732.2 Oracle多粒度封鎖機制介紹	45732.2.1 Oracle的TX鎖(事務鎖、行級鎖)	45832.2.2 TM鎖(表級鎖)	45932.3 Oracle 多粒度封鎖機制的監控	46132.3.1 系統視圖介紹	46132.3.2 監控腳本	46232.4 Oracle 多粒度封鎖機制示例	46332.4.1 操作同一行數據引發的鎖阻塞	46332.4.2 實體完整性引發的鎖阻塞	46532.4.3 參照完整性引發的鎖阻塞	46632.4.4 外鍵未加索引引發的鎖阻塞	46832.4.5 部分回滾對鎖的影響	47032.4.6 鎖的排隊機制	47232.4.7 ITL Slot不足引發的鎖阻塞	47432.4.8 Bitmap索引引發的鎖阻塞	47532.4.9 死鎖分析	47532.4.10 表級鎖的使能	47632.4.11 row_locking參數	47832.5 Oracle 多粒度封鎖機制總結	478

媒体关注与评论

  全球著名的 IT 及電信行業市場咨詢和顧問機構 IDC 公司的統計數據( 2005 年 3 月)表明, 2004 年 Oracle 數據庫市場年增長率為 14.5% ,且以 41.3% 的市場佔有率居市場領先地位。與此同時, Oracle 數據庫在國內也得到了進一步的發展和普及。  應用的普及勢必對數據庫的管理及優化提出了更高的要求,而 Oracle 數據庫的性能優化一直是數據庫管理中的重要環節,也是最復雜的內容之一。基于此,我們組織編寫了本書。  作為國內著名 Oracle 技術論壇, ITPUB ( )一直致力于推動各種形式的技術互動、促進經驗交流和提供多種共享資源,以期幫助更多的朋友學習並掌握 Oracle 技術。 2004 年, ITPUB 首次編寫自己的技術圖書《 Oracle 數據庫 DBA 專題技術精粹》,得到了廣大讀者的支持與鼓勵。  本書是 ITPUB 推出的第二本技術圖書,由活躍在 ITPUB 上的一群資深 Oracle 技術人員組稿,歷時一年多的努力而成,其主要內容都是來自于實踐經驗的提煉和總結,具有高度的實用性及參考性。

图书封面




    Oracle數據庫性能優化下載



用户评论 (总计0条)

 
 

 

計算機與互聯網 PDF免费下载,數據庫PDF免费下载。 计算机教程网 

计算机教程网 @ 2017