OracleDatabase10g性能調整與最佳化

《OracleDatabase10g性能調整與最佳化》,由尼米克編著,2009年發行。

基本信息

圖書信息

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

出 版 社: 清華大學出版社

出版時間: 2009-1-1

字 數: 1375000

版 次: 1

頁 數: 869

開 本: 16開

印 次: 1

紙 張: 膠版紙

I S B N : 9787302189121

包 裝: 平裝

所屬分類: 圖書 >> 計算機/網路 >> 資料庫 >> Oracle

定價:¥118.00

作者簡介

尼米克(Niemiec.R.J),Richard被Oracle公司授予Oracle認證大師——迄今為止,全世界僅有6人獲得此殊榮,因此他是世界範圍內公認的0racle專家。他是獨立Oracle用戶組(IOUG)的前任主管以及中西部Oracle用戶組的現任主管。Richard已經被5次命名為IOuG會議的最佳主講人,並且是企業家名人紀念館的成員。目前Richard J.Niemiec任TUSC公司的總裁,該公司旗下有500多個專業從事Oracle技術全方位服務諮詢和培訓的機構。

目錄

第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.14logminer的改動

1.15 新的DBMS_STATS選項

1.16 跟蹤增強

1.17dbms_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.2Oracle 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用戶組董事

書摘插圖

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

1.1 安裝改進

對於10g版本,首先您將會注意到其較小的磁碟占用空間和更為簡單的安裝。資料庫通過一張CD提供給用戶,而一些組件,例如HTTP伺服器和HTML DB(Application Express或最新版一中的APEX),則通過一張附帶的CD提供給用戶。……

相關詞條

相關搜尋

熱門詞條

聯絡我們