[書籍] Oracle Database 10g效能調整與優化

tolywang發表於2009-07-04

       作 者: (美)尼米克(Niemiec,R.J) 著;薛瑩 譯

  出 版 社: 清華大學出版社

  出版時間: 2009-1-1

 

第1章 Oracle Database 10g新功能介紹(針對DBA和開發人員)

  1.1 安裝改進
  1.2 SYSAUX表空間
  1.3 自動儲存管理
  1.4 叢集就緒服務(CRS)
  1.5 伺服器生成的警報
  1.6 自動工作量倉庫(AWR)
  1.7 自動資料庫診斷監控程式(ADDM)
  1.8 SQL調整顧問
  1.9 自動共享記憶體管理(ASMM)
  1.10 閃回恢復區
  1.11 回收站
  1.12 恢復管理器的改動
  1.13 透明資料加密(10gR2)
  1.14 LogMiner的改動
  1.15 新的DBMS_STATS選項
  1.16 跟蹤增強
  1.17 DBMS_SCHEDULER
  1.18 預設的(永久)表空間
  1.19 臨時表空間組
  1.20 重新命名錶空間
  1.21 大檔案表空間
  1.22 收縮段
  1.23 資料泵(Data Pump)
  1.24 跨平臺的可移植表空間
  1.25 寫入外部表
  1.26 自動撤消保留調整
  1.27 包括新資訊的V$SESSION
  1.28 OEM的改動
  1.29 網格控制
  1.30 10g版本中的新後臺程式
  1.31 版本比較表
  1.32 新特性回顧
  1.33 參考文件
  第2章 基本的索引原理(針對DBA和初級開發人員)
  2.1 基本的索引概念
  2.2 組合索引
  2.3 限制索引
  2.3.1 使用不等於運算子(<>、!=)
  2.3.2 使用 IS NULL或IS NOT NULL
  2.3.3 使用函式
  2.3.4 比較不匹配的資料型別
  2.4 選擇性
  2.5 叢集因子(Clustering Factor)
  2.6 二元高度(binary height)
  2.7 使用直方圖
  2.8 快速全域性掃描
  2.9 跳躍式掃描
  2.10 索引的型別
  2.10.1 B樹索引
  2.10.2 點陣圖索引
  2.10.3 HASH索引
  2.10.4 索引組織表
  2.10.5 反轉鍵索引
  2.10.6 基於函式的索引
  2.10.7 分割槽索引
  2.10.8 點陣圖連線索引
  2.11 快速重建索引
  2.12 技巧回顧
  2.13 參考文件
  第3章 磁碟實現方法和ASM(針對DBA)
  3.1 成為規範的磁碟陣列
  3.1.1 使用磁碟陣列改進效能和可用性
  3.1.2 所需的磁碟數量 
  3.1.3 可用的RAID級別
  3.1.4 更新的RAID 5
  3.2 安裝和維護傳統檔案系統
  3.3 在硬體磁碟之間分佈關鍵資料檔案
  3.3.1 分開儲存資料和索引檔案
  3.3.2 避免I/O磁碟爭用
  3.3.3 通過移動資料檔案來均衡檔案I/O
  3.4 本地託管的表空間
  3.4.1 建立本地託管的表空間
  3.4.2 把字典託管的表空間遷移到本地託管的表空間
  3.4.3 Oracle大檔案表空間
  3.4.4 Oracle託管檔案
  3.5 ASM簡介
  3.5.1 I/O角色之間的通訊
  3.5.2 ASM例項
  3.5.3 ASM init.ora引數
  3.5.4 ASM的安裝
  3.5.5 ASM引數和SGA調整
  3.5.6 ASM和許可權
  3.5.7 ASM磁碟
  3.5.8 ASM和多路徑
  3.5.9 ASM磁碟組
  3.5.10 ASM磁碟組和資料庫
  3.5.11 ASM冗餘和故障組
  3.5.12 Oracle Database 10gRelease 2中新的空間相關列
  3.5.13 叢集同步服務
  3.5.14 資料庫例項和ASM
  3.5.15 使用ASM進行資料庫合併和叢集化
  3.5.16 支援ASM的資料庫程式
  3.5.17 大檔案和ASM
  3.5.18 支援ASM的資料庫init.ora引數
  3.5.19 ASM和資料庫部署最佳實踐
  3.5.20 ASM儲存管理和分配
  3.5.21 ASM重新平衡和重新分佈
  3.6 使用分割槽來避免磁碟爭用
  3.6.1 獲得關於分割槽的更多資訊
  3.6.2 其他型別的分割槽
  3.6.3 其他分割槽選項
  3.7 使用索引分割槽
  3.8 匯出分割槽
  3.9 消除碎片
  3.9.1 使用正確的盤區大小
  3.9.2 建立一個新表空間並把資料移到其中
  3.9.3 匯出和重新匯入表
  3.9.4 正確設定比例以避免鏈化現象
  3.9.5 自動段空間管理
  3.9.6 重建資料庫
  3.10 增加日誌檔案尺寸和LOG_CHECKPOINT_INTERVAL以提高速度
  3.10.1 確定重做日誌檔案的大小是否存在問題
  3.10.2 確定日誌檔案的大小和檢查點的時間間隔
  3.11 閃回恢復
  3.12 增加恢復的可能性:在每次批處理後提交
  3.13 使用回滾段
  3.13.1 避免回滾段之間的爭用
  3.13.2 監控回滾段的等待和爭用
  3.13.3 增加回滾段
  3.13.4 把大的事務隔離到它們自己的回滾段上
  3.13.5 更簡便的方法:UNDO表空間
  3.13.6 監控UNDO空間
  3.14 結束有問題的會話
  3.15 不要在SYSTEM或SYSAUX表空間中執行排序
  3.16 在不同磁碟和控制器上存放多個控制檔案
  3.17 對寫操作頻繁的資料使用裸裝置來提高I/O
  3.17.1 使用裸裝置的好處
  3.17.2 使用裸裝置的缺點
  3.18 磁碟I/O的其他注意事項和提示
  3.19 設計階段需要注意的問題
  3.20 技巧回顧
  3.21 參考文件
  第4章 用初始引數調整資料庫(針對DBA)
  4.1 標識重要的初始引數
  4.2 不用重啟就修改初始引數
  4.3 用Enterprise Manager 檢視初始引數
  4.4 調整DB_CACHE_SIZE來提高效能
  4.4.1 在調整DB_CACHE_SIZE時使用V$DB_CACHE_ADVICE
  4.4.2 保證資料快取命中率超過95%
  4.4.3 監控V$SQLAREA檢視以查詢較慢的查詢
  4.5 設定DB_BLOCK_SIZE來反映資料讀取量的大小
  4.5.1 調整SHARED_POOL_SIZE以優化效能
  4.5.2 使用Oracle的多個緩衝池
  4.5.3 調整PGA_AGGREGATE_TARGET以優化對記憶體的應用
  4.5.4 修改SGA大小以避免分頁和交換
  4.5.5 瞭解基於成本的優化
  4.5.6 建立足夠的排程程式 
  4.5.7 25個重要的初始化引數
  4.5.8 查詢未歸檔的初始引數
  4.5.9 瞭解典型的伺服器
  4.5.10 典型的伺服器模式
  4.5.11 調整Oracle Application資料庫
  4.6 技巧回顧
  4.7 參考文件
  第5章 企業管理器和網格控制(針對DBA和開發人員)
  5.1 企業管理器(EM)基礎
  5.2 從All Targets和其他分組開始
  5.3 Policies (Violations)選項卡
  5.4 監控資料庫
  5.4.1 Database Administration選項卡
  5.4.2 Database Administration選項卡:Tablespace
  5.4.3 Database Administration選項卡:例項級別
  5.4.4 Database Administration選項卡:All InitializationParameters
  5.4.5 Database Administration選項卡:Manage Optimizer Statistics
  5.4.6 Database Administration選項卡(例項級別):
  5.4.7 Database Maintenance選項卡
  5.4.8 Database Topology選項卡
  5.4.9 Database Performance選項卡
  5.5 監控主機
  5.6 監控應用伺服器
  5.7 監控Web應用程式
  5.8 Deployments選項卡(補丁選項)
  5.9 Jobs選項卡
  5.10 Reports選項卡
  5.11 自動儲存管理的效能
  5.12 小結
  5.13 技巧回顧
  5.14 參考文件
  第6章 使用EXPLAIN和STORED OUTLINES(針對DBA和開發人員)
  6.1 Oracle的SQL TRACE實用程式
  6.1.1 對簡單查詢使用SQL TRACE的簡單步驟
  6.1.2 TRACE輸出部分
  6.1.3 更復雜的TKPROF輸出
  6.1.4 深入探討TKPROF輸出
  6.1.5 使用DBMS_MONITOR(10g的新特性)
  6.1.6 使用TRCSESS將多個跟蹤檔案儲存到一個檔案中(10g的新特性)
  6.1.7 單獨使用EXPLAINPLAN
  6.1.8 EXPLAIN PLAN—— 從上至下讀取和從下至上讀取
  6.1.9 閱讀EXPLAIN PLAN
  6.1.10 使用DBMS_XPLAN
  6.1.11 另一種EXPLAIN PLAN輸出方法:構建樹結構
  6.1.12 另一個使用樹的例子
  6.1.13 在開發產品中利用TRACE/EXPLAIN發現有問題的查詢
  6.1.14 PLAN_TABLE表中的重要列
  6.1.15 Oracle支援的一些有用的程式包
  6.1.16 適用於未記錄入檔的TRACE操作的初始引數
  6.1.17 使用儲存綱要
  6.1.18 使用Plan Stability(儲存綱要)
  6.2 技巧回顧
  第7章 基本的提示語法(針對DBA和開發人員)
  7.1 最常用的提示
  7.1.1 謹慎使用提示
  7.1.2 首先修正設計方案
  7.2 可用的提示和分組
  7.2.1 改變執行路徑
  7.2.2 使用訪問方法提示
  7.2.3 使用查詢轉換提示
  7.2.4 使用連線操作提示
  7.2.5 使用並行執行
  7.2.6 其他提示
  7.3 指定提示
  7.4 指定多個提示
  7.5 使用別名時,提示別名而不是表名
  7.6 使用提示
  7.6.1 使用FIRST_ROWS提示
  7.6.2 使用ALL_ROWS提示
  7.6.3 使用FULL提示
  7.6.4 使用INDEX提示
  7.6.5 使用NO_INDEX提示
  7.6.6 使用INDEX_JOIN提示
  7.6.7 使用INDEX_COMBINE提示
  7.6.8 使用INDEX_ASC提示
  7.6.9 使用INDEX_DESC提示
  7.6.10 使用INDEX_FFS提示
  7.6.11 使用ORDERED提示
  7.6.12 使用LEADING提示
  7.6.13 使用NO_EXPAND提示
  7.6.14 使用DRIVING_SITE提示
  7.6.15 使用USE_MERGE提示
  7.6.16 使用USE_NL提示
  7.6.17 使用USE_HASH提示
  7.6.18 使用PUSH_SUBQ提示
  7.6.19 使用PARALLEL提示
  7.6.20 使用NO_PARALLEL提示
  7.6.21 使用APPEND提示
  7.6.22 使用NOAPPEND提示
  7.6.23 使用CACHE提示
  7.6.24 使用NOCACHE提示
  7.6.25 使用CLUSTER提示
  7.6.26 使用HASH提示
  7.6.27 使用CURSOR_ SHARING_EXACT提示
  7.6.28 使用QB_NAME提示
  7.7 其他一些提示和注意事項
  7.8 使用提示可能遇到的問題
  7.9 提示一覽表
  7.10 技巧回顧
  7.11 參考文件
  第8章 調整查詢(針對開發人員和初級DBA)
  8.1 調整哪些查詢?查詢V$SQLAREA
  8.1.1 在V$SQLAREA檢視中選出最佔用資源的查詢
  8.1.2 在V$SQL檢視中選出最佔用資源的查詢
  8.2 選出最佔用資源的會話和查詢的新10g檢視
  8.2.1 從V$SESSMETRIC檢視中選出當前最佔用資源的會話
  8.2.2 檢視可用的AWR快照
  8.2.3 從DBA_HIST_SQLSTAT檢視中選出最佔用資源的查詢
  8.2.4 從dba_hist_sqlstat檢視中選擇查詢文字
  8.2.5 從DBA_HIST_SQL_PLAN檢視中選出查詢執行計劃
  8.3 確定何時使用索引
  8.4 遺忘索引
  8.5 建立索引
  8.6 檢視錶上的索引
  8.7 修正差的索引
  8.8 在刪除索引時保持謹慎
  8.9 對SELECT和WHERE中的列使用索引
  8.10 使用快速全域性掃描
  8.11 使查詢魔術般加速
  8.12 在記憶體中快取表
  8.13 使用多個索引(利用最佳選擇性)
  8.14 使用索引合併
  8.15 處理受限制的索引
  8.16 使用基於函式的索引
  8.17 瞭解“古怪”的OR
  8.18 使用EXISTS函式
  8.19 表就是檢視
  8.20 SQL和“大一統”理論
  8.21 Oracle Database 10g中的調整修改
  8.22 10g自動SQL調整
  8.22.1 保證調整使用者能訪問API
  8.22.2 建立調整任務
  8.22.3 檢視顧問日誌中的任務
  8.22.4 執行SQL調整任務
  8.22.5 檢視調整任務的狀態
  8.22.6 顯示SQL調整顧問報告
  8.22.7 檢查報告輸出
  8.23 技巧回顧
  8.24 參考文件
  第9章 表的連線和其他高階調整技術(針對DBA和開發人員)
  9.1 連線方法
  9.1.1 巢狀迴圈連線
  9.1.2 排序合併連線
  9.1.3 叢集連線
  9.1.4 雜湊連線
  9.1.5 索引連線
  9.2 表連線的初始化引數排序合併與雜湊連線引數
  9.3 雙表連線:等尺寸表(基於成本)
  9.4 雙表索引連線:等尺寸表(基於成本)
  9.5 強制執行特殊的連線方法
  9.6 在多表連線中除去連線記錄(侯選行)
  9.7 在大小不同的表間進行雙表連線
  9.8 三表連線(基於成本)
  9.9 點陣圖連線索引
  9.10 第三方效能調整工具
  9.11 調整分散式查詢
  9.12 一切就緒
  9.13 各種調整技術摘要
  9.13.1 外部表
  9.13.2 資料快照太舊:開發人員的程式設計難題
  9.13.3 設定事件以轉儲每次等待
  9.13.4 使用EXISTS操作符有效縮短時間
  9.14 在塊級別進行調整
  9.15 使用簡單的數學方法調整效能
  9.15.1 傳統的數學分析
  9.15.2 方法論的七個步驟
  9.15.3 模式分析
  9.15.4 數學方法總結
  9.16 連線調整:關係模型與物件關係模型的效能
  9.16.1 使用的模型
  9.16.2 結果
  9.16.3 總結
  9.17 技巧回顧
  9.18 參考文件
  第10章 使用PL/SQL提高效能(針對DBA和開發人員)
  10.1 使用DBMS_APPLICATION_INFO進行實時監控
  10.2 在RAC環境中為實時監控使用自定義包代替DBMS_APPLICATION_INFO
  10.3 在資料庫的表中記錄計時資訊
  10.4 減少PL/SQL程式的單元迭代和迭代的時間
  10.5 使用ROWID進行迭代處理
  10.6 將資料型別、IF語句的排列和PLS_INTEGER
  10.6.1 確保比較運算中的資料型別相同
  10.6.2 根據條件出現的頻率來排序IF條件
  10.6.3 使用PLS_INTEGER PL/SQL資料型別進行整數運算
  10.7 減少對SYSDATE的呼叫
  10.8 減少MOD函式的使用
  10.9 共享池和固定PL/SQL物件
  10.9.1 將PL/SQL物件語固定(快取)到記憶體中
  10.9.2 固定所有的包
  10.10 標識需要固定的PL/SQL物件
  10.11 使用和修改DBMS_ SHARED_POOL.SIZES
  10.12 從DBA_OBJECT_SIZE 中獲取詳細的物件資訊
  10.13 發現無效的物件
  10.14 發現已禁用的觸發器
  10.15 將PL/SQL表用於快速參考表查詢
  10.16 查詢和調整所使用物件的SQL
  10.17 在處理DATE資料型別時使用時間資訊
  10.18 調整和測試PL/SQL
  10.19 瞭解PL/SQL物件定位的含義
  10.20 使用回滾段開啟大型遊標
  10.21 使用資料庫的臨時表來提高效能
  10.22 整合使用者跟蹤機制以定位執行位置
  10.23 限制動態SQL的使用
  10.24 使用管道表函式來建立複雜結果集
  10.25 別管除錯命令
  10.26 為初學者提供的例子
  10.26.1 建立PL/SQL程式碼
  10.26.2 建立過程
  10.26.3 執行PL/SQL過程
  10.26.4 建立函式
  10.26.5 在SQL中執行GET_CUST_NAME函式
  10.26.6 建立資料包
  10.26.7 在資料庫觸發器中使用PL/SQL
  10.27 技巧回顧
  10.28 參考文件
  第11章 調整RAC和使用並行特性
  11.1 實時應用叢集(RAC)
  11.1.1 並行資料庫
  11.1.2 Oracle RAC的體系結構
  11.1.3 Oracle RAC系統的內部工作方式
  11.1.4 SCN 處理
  11.1.5 RAC效能調整概述
  11.1.6 RAC等待事件和互連統計資料
  11.1.7 叢集互連調整——硬體等級
  11.1.8 使用企業管理器網格控制調整RAC
  11.2 並行操作的基本概念
  11.3 並行DML和DDL語句和操作
  11.4 Oracle 9i的並行DML語句和操作
  11.5 並行處理和分割槽
  11.6 操作內部和操作之間的並行處理
  11.7 使用並行操作生成表和索引的示例
  11.8 並行DML語句和示例
  11.8.1 並行DML的約束條件
  11.8.2 並行DML語句示例
  11.9 通過V$檢視監控並行操作
  11.9.1 V$PQ_TQSTAT
  11.9.2 V$PQ_SYSSTAT
  11.9.3 V$PQ_SESSTAT
  11.10 在並行操作時使用EXPLAIN PLAN和AUTOTRACE
  11.11 調整並行執行和Oracle 9i初始化引數
  11.12 並行載入
  11.13 效能比較和監控並行操作
  11.14 優化RAC中的並行操作
  11.14.1 並行操作的目標
  11.14.2 RAC並行使用模型
  11.14.3 初始化引數
  11.14.4 檢視並行統計資料的V$檢視
  11.14.5 並行配置和相關基線測試
  11.14.6 並行查詢測試示例
  11.14.7 Create Table As
  11.14.8 索引構建
  11.14.9 效能考慮因素和小結
  11.15 使用並行處理時的其他注意事項
  11.16 技巧回顧
  11.17 參考文件
  第12章 V$檢視(針對開發人員和DBA)
  第13章 X$表(針對高階DBA)
  第14章 使用STATSPACK和AWR報表調整等待和閂鎖
  第15章 執行快速系統檢查(針對DBA)
  第16章 使用UNIX工具監控系統(針對DBA)
  附錄A 主要的初始化引數(針對DBA)附錄B V$檢視(針對DBA和開發人員)
  附錄C X$表(針對DBA)

 
媒體評論

  “Rich再次完成了一本優秀的書籍,書中以大膽的、鼓舞他人的方式教導不同層次的讀者。”
  ——Ari Kaplan.獨立Oracle使用者組的總裁
  “Rich Niemiec是Oracle效能調整方面的“絕對”專家。每個Oracle DBA的書架上都應該放有本書——任何人都可以從中學到知識。這是一本被反覆證明過有重要參考價值的優秀書籍。”
  ——Kimberly Floss.PepsiCo的資料庫服務經理,
  獨立0racle使用者組的前任總裁
  “Rich是一名世界頂尖的Oracle優化專家。他的書籍為所有優化從業人員(從初級到高階)提供了大量提示和技巧;本書將使Oracle世界的每位優化從業人員的技能得到提升。”
  ——Mohammed Abdul Samad,沙烏地阿拉伯教育部
  “我非常欽佩Rich在Oracle技術方面的豐富知識。希望熟練掌握Oracle效能調整的任何人都可以從本書中獲益。本書包含了Rich在Oracle方面的專家知識和經驗,並且是所有Oracle專業人士必讀的書籍。”
  ——Hardik Bhatt,芝加哥城資訊長
  “Rich Niemiec編寫的任何書籍都是必須購買的書籍,他深入瞭解Oracle的方方面面。”

  ——Karen Brownfield.Oracle Applications使用者組董事 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-608323/,如需轉載,請註明出處,否則將追究法律責任。

相關文章