序言
前言
第一部分 方法
第1章 Oracle性能管理介紹
1.1 什么是優(yōu)化
1.2 為什么需要優(yōu)化
1.3 由誰來優(yōu)化
1.4 優(yōu)化到何種程度
1.5 何時停止優(yōu)化
1.6 本章小結
第2章 優(yōu)化方法
2.1 為什么要重視優(yōu)化方法
2.2 什么是良好的優(yōu)化方法
2.3 Oracle性能優(yōu)化的基本方法
2.3.1 設立合理的性能優(yōu)化目標
2.3.2 測量并記錄當前性能
2.3.3 確定當前Oracle性能瓶頸
2.3.4 把等待事件記入跟蹤文件
2.3.5 確定當前OS瓶頸
2.3.6 優(yōu)化必需的組件
2.3.7 跟蹤并實施更改控制過程
2.3.8 測量并記錄當前性能
2.3.9 重復步驟3到步驟7直到滿足優(yōu)化目標
2.4 本章小結
第二部分 應用程序優(yōu)化
第3章 應用程序優(yōu)化—與DBA有關的問題
3.1 Oracle優(yōu)化程序的故事
3.1.1 老伙計:基于規(guī)則的優(yōu)化程序
3.1.2 基于規(guī)則的優(yōu)化程序的不靈活性的影響
3.1.3 基于規(guī)則的優(yōu)化程序和C編譯器:一個專家的觀點
3.1.4 新生兒:基于成本的優(yōu)化程序
3.1.5 基于成本的優(yōu)化程序的成熟過程
3.1.6 幸福老人:基于規(guī)則的優(yōu)化程序
3.1.7 回到基于成本的優(yōu)化程序
3.1.8 基于成本的優(yōu)化程序的崛起
3.2 Oracle優(yōu)化程序的初始參數設置
3.3 什么是提示
3.4 運行的是哪個優(yōu)化程序
3.5 對象統(tǒng)計數據的計算
3.5.1 為什么要計算統(tǒng)計數據
3.5.2 怎樣計算統(tǒng)計數據
3.5.3 需要多少統(tǒng)計信息
3.5.4 計算對象統(tǒng)計數據的各種方法
3.5.5 間隔多久計算一次統(tǒng)計數據
3.5.6 關于計算對象統(tǒng)計數據的問題
3.6 最佳檢索策略
3.6.1 什么是索引
3.6.2 何時使用索引
3.6.3 怎樣建立最佳索引
3.6.4 何時需要重建索引
3.7 應該使用哪種連接方法,何時使用
3.8 怎樣不編寫SQL
3.9 最佳SQL的基礎
3.10 本章小結
第4章 應用程序優(yōu)化—追蹤不良的SQL語句
4.1 SQL語句的優(yōu)化過程
4.2 怎樣跟蹤SQL
4.3 跟蹤文件的位置以及如何找到它
4.4 在跟蹤文件上運行tkprof
4.5 解釋tkprof中的輸出結果
4.6 Oracle的行動計劃
4.6.1 怎樣獲得Oracle的行動計劃
4.6.2 如何閱讀計劃
4.7 什么是AUTOTRACE
4.8 本章小結
第三部分 實例與數據庫優(yōu)化
第5章 實例優(yōu)化—共享池區(qū)
5.1 Oracle體系結構
5.1.1 系統(tǒng)全局區(qū)
5.1.2 后臺進程
5.1.3 另一個進程:服務器進程
5.1.4 程序全局區(qū)
5.2 分析SQL:用戶按ENTER時的工作
5.2.1 硬分析與軟分析
5.2.2 分析或者不分析,這是一個問題
5.3 初始化參數和共享池
5.4 配置各種池子
5.4.1 共享池
5.4.2 大型池
5.4.3 Java池
5.5 優(yōu)化SPA
5.6 把對象留在內存中
5.7 共享池碎片:主動處理ORA-04031
5.7.1 導致共享池碎片的原因
5.7.2 Oracle 7.3及以上版本中的ORA-04031錯誤
5.8 影響共享池區(qū)的等待事件
5.9 本章小結
第6章 實例優(yōu)化—數據庫緩沖區(qū)高速緩存
6.1 什么是五分鐘高速緩存規(guī)則
6.2 數據庫緩沖區(qū)高速緩存的工作原理
6.2.1 Oracle8i以前的數據庫緩沖區(qū)高速緩存管理
6.2.2 Oracle8i及以上版本中的數據庫緩沖區(qū)高速緩存管理
6.3 配置緩沖池
6.3.1 從默認池開始
6.3.2 保留池
6.3.3 回收池
6.3.4 分配對象給一個池子
6.3.5 使用cache選項
6.4 分析數據庫緩沖區(qū)高速緩存
6.4.1 高速緩存命中率
6.4.2 數據庫緩沖區(qū)高速緩存中有什么
6.4.3 影響數據庫緩沖區(qū)高速緩存的等待事件
6.5 解決問題
6.6 本章小結
第7章 實例優(yōu)化—重做日志緩沖區(qū)及雜項優(yōu)化
7.1 配置重做日志緩沖區(qū)
7.1.1 影響重做日志緩沖區(qū)的初始化參數
7.1.2 影響重做日志緩沖區(qū)的等待事件
7.1.3 解決重做日志緩沖區(qū)問題
7.2 實例的雜項優(yōu)化
7.2.1 檢查點
7.2.2 重做日志文件
7.2.3 怎樣設置重做日志文件的尺寸
7.2.4 歸檔
7.2.5 用于實例雜項優(yōu)化的初始化參數
7.3 優(yōu)化Oracle優(yōu)化程序
7.4 本章小結
第8章 數據庫優(yōu)化
8.1 選取正確的數據庫塊尺寸
8.1.1 數據庫塊尺寸是如何影響性能的
8.1.2 如何定義最佳Oracle數據庫塊的尺寸
8.1.3 改變數據庫塊尺寸:核心問題
8.1.4 小塊與大塊尺寸的比較:一個有趣的觀點
8.1.5 小結
8.2 配置塊級存儲參數
8.2.1 配置pctused
8.2.2 配置pctfree
8.2.3 配置initrans
8.2.4 配置maxtrans
8.2.5 配置可用列表
8.3 設計、配置和優(yōu)化表空間
8.3.1 四個桶表空間的配置方法
8.3.2 配置臨時表空間
8.3.3 全局臨時表和臨時表空間
8.3.4 配置本地管理的表空間
8.4 改善性能的數據庫分區(qū)
8.4.1 分區(qū)的實際好處
8.4.2 數據庫分區(qū)的關鍵因素
8.5 配置初始化參數
8.6 混合型數據庫的優(yōu)化問題
8.7 數據倉庫數據庫的優(yōu)化問題
8.8 本章小結
第四部分 特殊優(yōu)化
第9章 并行查詢優(yōu)化
9.1 什么是并行,Oracle如何使用并行
9.2 何時使用并行查詢
9.3 怎樣使用并行
9.4 能從并行中受益的SQL語句
9.5 影響并行性的初始化參數
9.6 為并行性設計數據庫
9.7 并行DML的考慮
9.7.1 PDML和回退段配置
9.7.2 PDML和實例恢復
9.7.3 PDML的限制和問題
9.8 并行查詢監(jiān)控
9.9 本章小節(jié)
第10章 爭用優(yōu)化
10.1 監(jiān)控Oracle的爭用
10.2 回退段
10.2.1 什么是多版本讀取一致性
10.2.2 多版本的讀取一致性如何工作
10.2.3 定義并揭穿環(huán)繞的神話
10.2.4 刪除回退段爭用
10.2.5 回退段的用法
10.2.6 怎樣配置回退段
10.2.7 怎樣避免“ORA-01555-Snapshot Too Old”錯誤
10.3 主動管理臨時段的管理爭用
10.3.1 理解臨時段爭用
10.3.2 監(jiān)控臨時段表空間的使用情況
10.4 閂鎖
10.5 本章小結
第五部分 環(huán)境優(yōu)化
第11章 I/O優(yōu)化
11.1 RAID是什么
11.2 RAID不是什么
11.3 為什么應該重視RAID
11.4 RAID中的三個主要概念
11.4.1 什么是條帶化
11.4.2 什么是鏡像
11.4.3 什么是等同
11.4.4 本節(jié)內容提要
11.5 RAID的類型
11.6 RAID的級別
11.6.1 RAID 0
11.6.2 RAID 1
11.6.3 RAID 0+1
11.6.4 RAID 1+0
11.6.5 RAID 2
11.6.6 RAID 3
11.6.7 RAID 4
11.6.8 RAID 5
11.6.9 RAID 6
11.6.10 RAID 7
11.6.11 RAID-S
11.6.12 Auto RAID
11.7 Oracle與RAID
11.7.1 RAID 1
11.7.2 RAID 0+1和RAID 1+0
11.7.3 RAID 3與RAID 5
11.7.4 RAID 7
11.7.5 Auto RAID
11.8 配置磁盤陣列要考慮的基本問題
11.9 磁盤條帶化要考慮的基本問題
11.9.1 建立條帶化卷的步驟:第一部分
11.9.2 條帶寬度配置
11.9.3 建立條帶化卷的步驟:第二部分
11.10 操作系統(tǒng)配置
11.10.1 原始設備與文件系統(tǒng)的嚴謹討論
11.10.2 異步I/O
11.11 數據庫的最佳布局
11.11.1 并發(fā)訪問對象的分離
11.11.2 把數據與相應的索引分開
11.11.3 回退表空間與臨時表空間共存
11.11.4 分離表空間中的熱點對象
11.11.5 數據應該怎樣條帶化
11.12 影響I/O性能的初始化參數
11.13 RAID和Oracle數據庫:核心問題
11.14 樣例RAID配置
11.15 本章小結
第12章 操作系統(tǒng)優(yōu)化
12.1 優(yōu)化OS:一般問題
12.1.1 為系統(tǒng)配置足夠的內存
12.1.2 合理的內存分配方法
12.1.3 優(yōu)化文件系統(tǒng)緩沖區(qū)高速緩存
12.1.4 優(yōu)化系統(tǒng)上的交換空間
12.1.5 將Oracle SGA鎖定在內存中
12.2 優(yōu)化UNIX核心
12.3 優(yōu)化Solaris
12.3.1 異步I/O
12.3.2 將SGA鎖定在內存中
12.3.3 優(yōu)化分頁新進程
12.4 優(yōu)化AIX
12.4.1 異步I/O
12.4.2 在內存中鎖定SGA
12.4.3 優(yōu)化分頁新進程
12.5 優(yōu)化HP-UX
12.5.1 異步I/O
12.5.2 在內存中鎖定SGA
12.5.3 優(yōu)化文件系統(tǒng)緩沖區(qū)高速緩存
12.5.4 優(yōu)化進程管理
12.6 優(yōu)化Windows NT
12.6.1 增加Windows NT的可用內存
12.6.2 降低前臺應用程序的優(yōu)先級
12.6.3 取消不使用的網絡協(xié)議并重新設置綁定次序
12.6.4 配置Windows NT為一個數據庫服務器
12.6.5 配置“非Windows的打扮”
12.6.6 什么是啟動開始
12.6.7 優(yōu)化虛擬內存和分頁文件
12.7 本章小結
第13章 全書總結
13.1 Oracle性能管理:總結
13.2 什么是Oracle性能管理
13.3 優(yōu)化方法
13.4 無可替代的應用程序優(yōu)化
13.5 共享池區(qū)優(yōu)化
13.6 數據庫緩沖區(qū)高速緩存優(yōu)化
13.7 重做日志緩沖區(qū)及雜項優(yōu)化
13.8 數據庫優(yōu)化
13.9 并行查詢優(yōu)化
13.10 爭用優(yōu)化
13.11 I/O優(yōu)化
13.12 操作系統(tǒng)優(yōu)化
第六部分 附 錄
附錄A 詞匯表
附錄B 更多的技巧與資源
附錄C 參考文獻