TOP
0
0
購書領優惠,滿額享折扣!
Oracle Database 12cR2性能調整與優化(第5版)(簡體書)
滿額折

Oracle Database 12cR2性能調整與優化(第5版)(簡體書)

商品資訊

人民幣定價:168 元
定價
:NT$ 1008 元
優惠價
87877
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:26 點
商品簡介
作者簡介
目次
相關商品

商品簡介

在Oracle認證大師Richard Niemiec的幫助下,系統地識別和排除數據庫的性能問題:《Oracle Database 12cR2性能調整與優化(第5版)》詳細介紹最新的監控、故障排除和優化方法,取自現實世界的案例研究和最佳實踐貫穿全書,從中可以探悉如何鑒定和解決本地部署和雲環境的瓶頸問題、如何配置存儲設備、如何有效運行查詢以及如何開發無錯誤的SQL和PL/SQL代碼。此外還介紹了有關測試、報表和提高安全性等方面的內容。學會如何:? 正確運用 Oracle 12cR2數據庫的索引和分區技術? 有效使用Oracle雲、Oracle Exadata和Oracle企業管理器? 有效地管理磁盤驅動器、ASM、磁盤陣列和內存? 運用Oracle的SQL提示和Trace實用工具來優化查詢? 運用V$視圖和X$表對數據庫實施故障排除? 創建首個雲數據庫服務並為混合雲做好準備? 運用Oracle的Statspack和AWR等工具來生成報表? 運用sar、vmstat和iostat來監控操作系統統計數據。

作者簡介

[美]理查德·尼米克(Richard Niemiec),是全球知名的IT 專家,他是Oracle ACE 總監、Oracle 認證大師,還曾經是TUSC 的首席執行官和創始人之一。TUSC 始創於1988 年,總部在美國芝加哥,是專注於Oracle 業務解決方案的系統集成商,躋身于全美發展速度最快的500 強之列,在美國各地有10 家分號。Richard 還曾經擔任Rolta 國際董事會執行顧問,Rolta TUSC 總裁和Rolta EICT 國際總裁。 TUSC 是Oracle 公司在2002 年、2004 年、2007年、2008 年、2010 年、2011 年和2012 年的年度合作夥伴(最後兩年是Rolta TUSC)。Rolta 是基於IT 的地理空間解決方案的國際市場領頭羊,可滿足基礎設施、電信、電力、機場、國防、國土安全、城市發展、城市規劃和環境保護等多種行業的需求。
Richard 是國際Oracle 用戶組(IOUG)的前任主席,也是中西部Oracle 用戶組(MOUG)的現任主席。在過去的 30年間,他為弘揚Oracle 技術而頻頻發表演說,到過美國幾乎所有的主要城市,還到過很多國際大都市。他6 次被評為Oracle 合作者/全球用戶大會最佳演講者,10 次被評為中西部用戶大會最佳演講者,還曾經被評為Oracle 全球大會最佳演講者。在過去的25 年間,他為很多名列財富500 強的客戶設計過系統架構並實施過優化,這些客戶包括ACT、瑪氏公司、麥當勞、諾基亞、Navteq(MapQuest)、密西根大學、AT&T 和百事可樂。他在數據處理方面的經驗,從創新和架構延伸到教學和諮詢,重點是執行方向、數據庫管理和架構、性能優化、項目管理和技術教育。他是全球最早榮獲Oracle 大師認證(OCM)的6 強人之一,經常與Oracle 開發團隊一道工作,特別是在beta測試的過程中。2011 年,他撰寫的《Oracle Database 11g 性能調整與優化》一書被評為Oracle 叢書中的最暢銷書,在此之前,該書的8i、9i 和10g 版也被評為性能優化類中的最暢銷書。
Richard於2006年獲得全國貧困家庭學生成功者獎,於2007年獲得普渡大學校友傑出電氣和計算機工程師獎,還兩次榮獲 IOUG 著名的 Chris Wooldridge 獎。他於1998 年入選美國企業家名人堂。

目次

目錄
第1章 Oracle Database 12cR1和12cR2新特性介紹(針對DBA和開發人員) 1
1.1 Oracle Database 12cR1(12.1.0.1) 4
1.1.1 VARCHAR2和NVARCHAR2的大小限制增加到32K 4
1.1.2 局部索引 4
1.1.3 不可視列 5
1.1.4 相同列上的多個索引 5
1.1.5 獲取前x行 6
1.1.6 可插拔數據庫(PDB) 7
1.1.7 Oracle數據庫雲服務(數據庫即服務) 9
1.1.8 PDB級別:MEMORY_LIMIT和MEMORY_MINIMUM(12cR2) 14
1.1.9 在導入時改變壓縮方式 14
1.1.10 自適應查詢優化 15
1.1.11 PGA_AGGREGATE_LIMIT 15
1.1.12 UNION / UNION ALL的併發執行 16
1.1.13 調用者權限函數可以做結果集緩存 16
1.1.14 新的DBMS_UTILITY.EXPAND_SQL_TEXT包 16
1.1.15 列的默認值可以基於序列 16
1.1.16 用於智能閃存的多個SSD設備 16
1.1.17 基於成本的優化器統計信息的併發收集 16
1.1.18 增強的系統統計信息 17
1.1.19 用於可能失控的查詢的資源管理器 17
1.1.20 自動數據優化(ADO) 17
1.1.21 全域索引維護:DROP和TRUNCATE分區操作 18
1.1.22 ASM磁盤清理 18
1.1.23 在線操作能力的提升 18
1.1.24 數據衛士的改進 19
1.1.25 RMAN改進 19
1.2 Oracle Database 12cR1(12.1.0.2) 19
1.2.1 IM內存數據庫 19
1.2.2 高級索引壓縮 22
1.2.3 自動大表緩存 22
1.2.4 FDA對容器數據庫的支持 22
1.2.5 全數據庫緩存 22
1.2.6 JSON支持 22
1.2.7 FIPS 140加密參數 22
1.2.8 PDB子集克隆 22
1.2.9 快速Home目錄創建:創建“黃金映像” 22
1.3 Oracle Database 12cR2(12.2) 23
1.3.1 應用開發 23
1.3.2 降低遷移到Oracle的成本和問題的增強功能 23
1.3.3 可用性 24
1.3.4 大數據 25
1.3.5 壓縮和存檔 26
1.3.6 Oracle RAC和GI 26
1.3.7 安全 27
1.4 Oracle 12c中新的後臺進程 27
1.5 Exadata――新版本X6! 27
1.6 版本對比 28
1.7 新特性回顧 31
第2章 索引的基本原理(針對DBA和初級開發人員) 33
2.1 索引的基本概念 34
2.2 不可視索引 36
2.3 相同列上的多個索引 38
2.4 複合索引 41
2.5 索引抑制 42
2.5.1 使用不等於運算符(<>、!=) 43
2.5.2 使用IS NULL或IS NOT NULL 43
2.5.3 使用LIKE 44
2.5.4 使用函數 45
2.5.5 比較不匹配的數據類型 45
2.6 選擇性 46
2.7 聚簇因子 46
2.8 二元高度 47
2.9 使用直方圖 50
2.10 快速全掃描 51
2.11 跳躍式掃描 51
2.12 索引的類型 52
2.12.1 B樹索引 52
2.12.2 位圖索引 53
2.12.3 哈希索引 55
2.12.4 索引組織表 56
2.12.5 反向鍵索引 56
2.12.6 基於函數的索引 56
2.12.7 分區索引 57
2.12.8 12cR2中分區索引的新特性 59
2.12.9 位圖連接索引 60
2.13 快速重建索引 60
2.14 在線重建索引 60
2.15 要訣回顧 61
第3章 可插拔數據庫、磁盤實施方法和ASM(針對DBA) 63
3.1 可插拔數據庫(Oracle 12c新增) 64
3.1.1 CDB或PDB創建的對象 65
3.1.2 創建PDB的多種方法 66
3.1.3 可插拔數據庫的一些強大命令 66
3.1.4 在PDB中使用ALTER SYSTEM和其他一些命令 70
3.1.5 在可插拔數據庫中使用In-Memory(IM) 71
3.1.6 可插拔數據庫在12cR2中的其他新特性 71
3.1.7 子集備庫(12cR2新增特性) 71
3.2 磁盤陣列 72
3.2.1 使用磁盤陣列改進性能和可用性 72
3.2.2 所需的磁盤數量 72
3.2.3 可用的RAID級別 73
3.2.4 更新的RAID 5 73
3.2.5 SSD固態硬盤 74
3.2.6 ASM存儲管理(條帶/鏡像) 74
3.3 傳統文件系統的安裝和維護 75
3.3.1 考慮成本 75
3.3.2 分開存儲數據和索引文件 75
3.3.3 避免I/O磁盤爭用 76
3.4 Oracle 12c熱圖和自動數據優化(ADO) 77
3.5 Oracle 12c I/O性能跟蹤視圖(Outliers) 78
3.6 Oracle大文件表空間 78
3.7 ASM簡介 79
3.7.1 IT部門內各個角色之間的溝通 80
3.7.2 ASM實例 80
3.7.3 ASM初始化參數 81
3.7.4 12c版本中ASM的安裝 82
3.7.5 srvctl命令增強 88
3.7.6 ASM磁盤清洗(scrubbing) 91
3.7.7 ASM再平衡增強 92
3.7.8 ASM快速鏡像再同步 94
3.7.9 ASM過濾驅動器(Filter Driver) 94
3.7.10 ASM和權限 101
3.7.11 ASM和多路徑 103
3.7.12 大文件和ASM 104
3.8 使用分區來避免磁盤爭用 104
3.8.1 獲得關於分區的更多信息 106
3.8.2 其他類型的分區 106
3.8.3 (本地)分區索引 109
3.8.4 部分索引 109
3.8.5 全域索引維護:刪除或截斷分區操作 111
3.8.6 其他分區選項 111
3.8.7 使用索引分區 113
3.8.8 導出分區 113
3.9 消除碎片(按需操作――小心使用!) 114
3.9.1 使用正確的區塊大小 114
3.9.2 正確設定PCTFREE以避免鏈化(Chaining)現象 115
3.9.3 使用自動段空間管理(ASSM) 115
3.10 增加日誌文件尺寸和LOG_CHECKPOINT_INTERVAL以提高速度 116
3.11 確定重做日誌文件的大小是否存在問題 116
3.11.1 確定日誌文件的大小和檢查點的時間間隔 117
3.11.2 其他有幫助的重做日誌命令 117
3.12 在不同的磁盤和控制器上存放多個控制文件 118
3.13 磁盤I/O的其他注意事項和提示 119
3.14 設計階段需要注意的問題 119
3.15 要訣回顧 120
第4章 通過初始化參數調優數據庫(針對DBA) 123
4.1 升級到Oracle 12c之後 124
4.2 使用SEC_CASE_SENSITIVE_LOGON 125
4.3 與性能相關的重要的內存初始化參數 126
4.4 PDB級:MEMORY_LIMIT和MEMORY_MINIMUM 128
4.5 內存數據庫(INMEMORY_SIZE) 129
4.6 在不重啟數據庫的情況下修改初始化參數 133
4.7 修改PDB級別的初始化參數 136
4.8 通過Oracle實用程序洞察初始化參數 137
4.9 用企業管理器查看初始化參數 137
4.10 優化DB_CACHE_SIZE來提高性能 138
4.11 使用V$DB_CACHE_ADVICE優化DB_CACHE_SIZE 140
4.12 設定DB_BLOCK_SIZE來反映數據讀的大小 143
4.13 把SGA_MAX_SIZE設置為主內存大小的25%~50% 144
4.14 優化SHARED_POOL_SIZE以獲取最佳性能 144
4.14.1 使用存儲過程來優化共享SQL區域的使用 145
4.14.2 設定足夠大的SHARED_POOL_SIZE以保證充分利用DB_CACHE_SIZE 146
4.14.3 保證數據字典緩存能夠緩存足夠對象 146
4.14.4 保證庫緩存的重載率為0,並使命中率在95%以上 147
4.14.5 使用可用內存來判斷SHARED_POOL_SIZE是否設置正確 149
4.14.6 使用X$KSMSP表詳細觀察共享池 150
4.14.7 關於緩存大小需要記住的要點 151
4.14.8 與初始化參數相關的等待 151
4.15 在Oracle中使用多個緩沖池 152
4.15.1 與DB_CACHE_SIZE相關並為數據分配內存的池 152
4.15.2 修改LRU算法 153
4.15.3 與SHARED_POOL_SIZE相關並為語句分配內存的池 153
4.16 調整PGA_AGGREGATE_TARGET以優化內存的使用 154
4.17 修改SGA大小以避免換頁(Paging)和交換(Swapping) 155
4.18 瞭解Oracle優化器 155
4.19 創建足夠的調度程序(Dispatcher) 156
4.19.1 要有足夠的打開�標(OPEN_CURSORS) 157
4.19.2 不要讓DDL語句失敗(使用DDL鎖超時機制) 157
4.20 兩個重要的Exadata初始化參數(僅針對Exadata) 157
4.21 25個需要深思熟慮的重要初始化參數 157
4.21.1 歷年的初始化參數 159
4.21.2 查找未公開的初始化參數 160
4.22 理解典型的服務器 161
4.22.1 典型服務器的建模 161
4.22.2 Oracle Application數據庫選型 162
4.23 要訣回顧 166
第5章 Oracle企業管理器雲控制器(針對DBA和開發人員) 169
5.1 Oracle企業管理器(EM)基礎和通過Oracle雲訪問OEM 170
5.2 從All Targets和其他分組開始 173
5.3 使用OEM的Performance菜單進行監控和優化 175
5.3.1 Performance選項卡:Top Activity 175
5.3.2 Performance選項卡:SQL | SQL
Performance Analyzer 176
5.3.3 Performance選項卡:Real-Time ADDM 178
5.3.4 Performance選項卡:SQL | Access Advisor 181
5.3.5 Performance選項卡:管理Optimizer Statistics 182
5.3.6 Performance選項卡:AWR | AWR Administration 182
5.3.7 Performance選項卡:ASH Analytics 184
5.4 使用OEM Administration菜單進行監控和優化 185
5.4.1 Database Administration選項卡:Storage | Tablespaces 185
5.4.2 Database Administration選項卡:In-Memory Central和Initialization Parameters 187
5.4.3 Database Administration選項卡:全部初始化參數 188
5.4.4 Database Administration選項卡:Resource Manager (Consumer Groups) 188
5.5 使用OEM Database或Cluster Database菜單進行監控和優化 189
5.5.1 Database選項卡:Job Activity 189
5.5.2 Cluster Database選項卡:Configuration | Database Topology 190
5.6 監控主機 190
5.7 監控應用服務器和Web應用 191
5.8 真正應用測試(數據庫回放) 193
5.9 小結 194
5.10 要訣回顧 194
第6章 使用EXPLAIN PLAN、TRACE和SQL計劃管理(針對開發人員和DBA) 195
6.1 Oracle的SQL跟蹤(SQL TRACE)實用工具 196
6.1.1 對簡單查詢使用SQL跟蹤的簡單步驟 196
6.1.2 TRACE輸出部分 200
6.1.3 深入探討TKPROF輸出 201
6.2 使用DBMS_MONITOR 203
6.3 單獨使用EXPLAIN PLAN 207
6.3.1 對簡單查詢使用的另一個EXPLAIN示例 208
6.3.2 EXPLAIN PLAN―― 自頂而下還是從下往上讀取 209
6.3.3 在開發者產品中利用跟蹤/EXPLAIN發現有問題的查詢 213
6.3.4 PLAN_TABLE表中的重要列 214
6.3.5 使用DBMS_XPLAN 215
6.3.6 未公開的TRACE初始化參數 216
6.4 使用STORED OUTLINES(存儲綱要) 217
6.5 使用SQL計劃管理(SPM)和SPM示例 218
6.5.1 SPM術語 218
6.5.2 使用SPM 219
6.5.3 使用固定的SQL計劃基線 223
6.5.4 從STORED OUTLINES移植到SQL計劃管理 223
6.5.5 自適應計劃(Oracle 12c新特性)和SPM 225
6.6 要訣回顧 231
第7章 基本的提示語法(針對開發人員和DBA) 235
7.1 最常用的提示 236
7.1.1 慎用提示 237
7.1.2 首先修正設計方案 237
7.2 可用提示及歸類 238
7.2.1 執行路徑提示 238
7.2.2 訪問方法提示 238
7.2.3 查詢轉換提示 239
7.2.4 連接操作提示 239
7.2.5 並行執行提示 239
7.2.6 其他提示 240
7.3 指定提示 240
7.4 指定多個提示 241
7.5 使用別名時,提示別名而非表名 241
7.6 提示 242
7.6.1 Oracle的演示樣板:HR方案 242
7.6.2 FIRST_ROWS提示 242
7.6.3 ALL_ROWS提示 243
7.6.4 FULL提示 243
7.6.5 INDEX提示 244
7.6.6 NO_INDEX提示 245
7.6.7 INDEX_JOIN提示 246
7.6.8 INDEX_COMBINE提示 246
7.6.9 INDEX_ASC提示 246
7.6.10 INDEX_DESC提示 247
7.6.11 INDEX_FFS提示 247
7.6.12 ORDERED提示 248
7.6.13 LEADING提示 249
7.6.14 NO_EXPAND提示 249
7.6.15 DRIVING_SITE提示 250
7.6.16 USE_MERGE提示 250
7.6.17 USE_NL提示 251
7.6.18 USE_HASH提示 252
7.6.19 QB_NAME提示 253
7.6.20 PUSH_SUBQ提示 253
7.6.21 PARALLEL提示 254
7.6.22 NO_PARALLEL提示 255
7.6.23 PARALLEL_INDEX提示 255
7.6.24 APPEND提示 255
7.6.25 NOAPPEND提示 256
7.6.26 CACHE提示 256
7.6.27 NOCACHE提示 257
7.6.28 RESULT_CACHE提示 257
7.6.29 CURSOR_SHARING_EXACT提示 258
7.6.30 INMEMORY、NO_INMEMORY及其他IM提示 258
7.6.31 USE_INVISIBLE_INDEXES提示 259
7.6.32 CONTAINERS提示 260
7.6.33 WITH_PLSQL提示 260
7.7 雜項提示及注意事項 260
7.7.1 未公開的提示 262
7.7.2 如何在視圖中使用提示 263
7.7.3 關於提示和STORED OUTLINES(或SPM)的注意事項 263
7.8 提示為什麼不起作用 263
7.9 提示一覽 264
7.10 要訣回顧 265
第8章 查詢優化(針對開發人員和初級DBA) 267
8.1 應該優化哪些查詢?查詢V$SQLAREA和V$SQL視圖 268
8.1.1 從V$SQLAREA視圖中選出最糟糕的查詢 268
8.1.2 從V$SQL視圖中選出最糟糕的查詢 270
8.2 使用Oracle 12c視圖定位佔用大量資源的會話和查詢 271
8.2.1 從V$SESSMETRIC視圖中選出當前最佔用資源的會話 271
8.2.2 查看可用的AWR快照 272
8.2.3 從DBA_HIST_SQLSTAT視圖中發現最糟糕的查詢 272
8.3 何時應該使用索引 272
8.3.1 從DBA_HIST_SQLTEXT視圖中選擇查詢文本 273
8.3.2 從DBA_HIST_SQL_PLAN視圖中選出查詢的EXPLAIN PLAN 274
8.4 忘記了索引怎麼辦 275
8.4.1 建立索引 275
8.4.2 不可視索引(Invisible Index) 276
8.4.3 查看表上的索引 276
8.4.4 在列上正確建立索引了嗎 276
8.5 建立了差的索引怎麼辦 277
8.6 刪除索引時保持謹慎 279
8.7 在SELECT和WHERE子句中的列上建立索引 280
8.8 使用索引快速全掃描 281
8.9 使查詢“魔術”般加速 283
8.10 在內存中緩存表 283
8.11 使用結果集緩存(Result Cache) 285
8.12 在多個索引間選擇(使用選擇性最佳的索引) 285
8.13 索引合併 287
8.14 可能被抑制的索引 289
8.15 基於函數的索引 290
8.16 虛擬列(Virtual Column) 291
8.17 “古怪”的OR 291
8.18 使用EXISTS函數和嵌套子查詢 292
8.19 表就是視圖 293
8.20 SQL和“大一統”理論 293
8.21 Oracle Database 12c中的優化變化 294
8.21.1 Oracle 12c自適應查詢優化 294
8.21.2 自適應統計信息 300
8.21.3 Oracle 12c統計信息收集的更新和兩種新的直方圖 304
8.21.4 Oracle 12c SQL計劃管理的更新 305
8.22 Oracle自動SQL優化 306
8.22.1 保證執行優化操作的用戶能訪問API 307
8.22.2 創建優化任務 307
8.22.3 確定從顧問日誌中可以查看到任務 307
8.22.4 執行SQL優化任務 307
8.22.5 查看優化任務的狀態 308
8.22.6 顯示SQL優化顧問生成的報告 308
8.22.7 檢查報告輸出 308
8.23 使用SQL優化顧問自動優化SQL語句 310
8.23.1 啟用自動SQL優化顧問 310
8.23.2 配置自動SQL優化顧問 310
8.23.3 查看自動SQL優化的結果 311
8.24 使用SQL性能分析器(SPA) 314
8.25 要訣回顧 319
第9章 表連接和其他高級優化(針對高級DBA和開發人員) 321
9.1 數據庫回放(捕獲/回放) 322
9.1.1 設置源數據庫,為數據庫回放捕獲負載 323
9.1.2 準備捕獲負載 323
9.1.3 捕獲負載 323
9.1.4 準備負載以回放 324
9.1.5 為回放處理負載 325
9.1.6 準備回放負載 325
9.1.7 執行負載回放 325
9.2 SQL性能分析器(SPA) 327
9.2.1 創建SQL優化集 327
9.2.2 創建分析任務 328
9.2.3 執行分析任務 328
9.2.4 查詢性能分析的顧問任務 329
9.2.5 取消正在執行的SPA分析任務 329
9.2.6 刪除SPA分析任務 329
9.2.7 確定活動的SQL優化集 330
9.2.8 移除SQL優化集引用 330
9.2.9 刪除SQL優化集 330
9.3 連接方法 331
9.3.1 嵌套循環連接 331
9.3.2 排序合併連接 332
9.3.3 聚簇連接 333
9.3.4 哈希連接 333
9.3.5 索引合併連接 334
9.4 表連接相關的初始化參數 336
9.5 雙表連接:等尺寸表(基於成本) 337
9.6 雙表索引連接:等尺寸表(基於成本) 340
9.7 強制使用特定的連接方法 343
9.8 排除多表連接中的連接記錄(候選行) 345
9.9 大小不同的表間的雙表連接 346
9.10 三表連接:不那麼有趣 349
9.11 位圖連接索引 350
9.11.1 位圖索引 351
9.11.2 位圖連接索引 352
9.11.3 位圖連接索引的最佳應用 353
9.12 第三方產品性能優化 355
9.13 優化分布式查詢 359
9.14 一切就緒 360
9.15 其他優化技術 361
9.15.1 外部表 361
9.15.2 數據快照太舊(Snapshot Too Old):開發人員的編程問題 364
9.15.3 設置事件以轉儲每次等待 365
9.15.4 從14小時到30秒―― EXISTS操作符 366
9.16 在塊級別進行優化(高級內容) 367
9.16.1 數據塊轉儲中的關鍵部分 370
9.16.2 索引塊轉儲簡介 376
9.17 使用簡單的數學方法進行優化 378
9.17.1 傳統的數學分析 378
9.17.2 七步方法論 378
9.17.3 性能推導公式 379
9.17.4 模式分析 383
9.17.5 數學方法總結 387
9.18 要訣回顧 387
第10章 使用PL/SQL提升性能(針對開發人員和DBA) 391
10.1 利用PL/SQL函數結果集緩存提升性能(Oracle 12c中有改進) 393
10.2 在SQL語句中定義PL/SQL子程序(Oracle 12c新特性) 401
10.3 直接在PL/SQL表達式中引用序列 403
10.4 自增長(Identity)字段(Oracle 12c新特性) 404
10.5 將VARCHAR2、NVARCHAR2和RAW數據類型的最大長度增加到32K(Oracle 12c新特性) 406
10.6 語句中允許綁定PL/SQL專用數據類型(Oracle 12c新特性) 407
10.7 在SQL函數調用中使用命名參數 407
10.8 使用CONTINUE語句簡化循環 410
10.9 利用編譯時警告捕捉編程錯誤(Oracle 12c增強特性) 412
10.10 使用本地編譯提升性能 414
10.11 使用優化的編譯器使性能最優 416
10.12 使用DBMS_APPLICATION_INFO包進行實時監控 421
10.13 在數據庫表中記錄計時信息 422
10.14 減少PL/SQL程序的單元迭代數量和迭代時間 424
10.15 使用ROWID進行迭代處理 426
10.16 將數據類型、IF條件排序和PLS_INTEGER標準化 428
10.16.1 確保比較運算中的數據類型相同 428
10.16.2 根據條件出現的頻率排序IF條件 430
10.16.3 使用PL/SQL數據類型PLS_INTEGER進行整數運算 430
10.17 減少對SYSDATE的調用 431
10.18 減少MOD函數的使用 432
10.19 通過固定PL/SQL對象提升共享池的使用 433
10.19.1 將PL/SQL對象語句固定(緩存)到內存中 434
10.19.2 固定所有的包 434
10.20 識別需要固定的PL/SQL對象 435
10.21 使用和修改DBMS_SHARED_POOL.SIZES 435
10.22 從DBA_OBJECT_SIZE中獲取詳細的對象信息 436
10.23 發現無效對象 437
10.24 發現已禁用的觸發器 438
10.25 將PL/SQL關聯數組用於快速參考表查詢 439
10.26 查找和優化所使用對象的SQL 441
10.27 在處理DATE數據類型時使用時間組件 444
10.28 使用PL/SQL優化PL/SQL 446
10.29 理解PL/SQL對象定位的含義 446
10.30 使用回滾段打開大型�標 447
10.31 使用數據庫臨時表提高性能 449
10.32 限制動態SQL的使用 449
10.33 使用管道表函數建立複雜的結果集 450
10.34 別管調試命令 454
10.35 “跟著感覺走”:為初學者準備的例子 458
10.35.1 PL/SQL示例 459
10.35.2 創建過程的例子 459
10.35.3 從PL/SQL中執行過程的例子 459
10.35.4 創建函數的例子 460
10.35.5 在SQL中執行get_cust_name函數 460
10.35.6 創建程序包 460
10.35.7 在數據庫觸發器中使用PL/SQL 460
10.36 要訣回顧 461
第11章 Oracle雲、Exadata、RAC調優和並行特性的使用 463
11.1 雲計算的演進(過去和現在) 465
11.2 Oracle雲 467
11.3 Exadata數據庫一體機 474
11.3.1 Exadata術語和基礎知識 474
11.3.2 Exadata詳細信息 475
11.3.3 Exadata存儲擴展櫃簡介 477
11.3.4 智能掃描(Smart Scan) 478
11.3.5 閃存(Flash Cache) 478
11.3.6 存儲索引(Storage Indexes) 480
11.3.7 混合列壓縮 481
11.3.8 IORM 484
11.3.9 在Exadata中使用所有的Oracle安全優勢 484
11.3.10 最佳實踐 485
11.3.11 小結:Exadata=根本性改變! 485
11.4 Oracle Database Appliance(ODA) 486
11.5 M7 SPARC芯片的SuperCluster 486
11.6 其他可以考慮的Oracle硬件 486
11.6.1 Oracle大數據設備X6-2 486
11.6.2 ZFS存儲服務器 487
11.6.3 StorageTek模塊化磁帶庫系統 487
11.7 並行數據庫 487
11.8 RAC 488
11.8.1 Oracle RAC架構 488
11.8.2 Oracle RAC系統的內部工作原理 489
11.9 RAC性能優化概述 492
11.9.1 RAC集群互連的性能 492
11.9.2 尋找RAC等待事件――會話等待 493
11.9.3 RAC等待事件和互連統計信息 494
11.9.4 集群互連優化―― 硬件層 498
11.10 並行操作 501
11.10.1 並行操作的基本概念 501
11.10.2 並行DML和DDL語句及操作 503
11.10.3 管理並行服務器資源和並行語句排隊 503
11.10.4 並行和分區 504
11.10.5 操作內並行和操作間並行 504
11.10.6 使用操作內並行和操作間並行的示例(PARALLEL和NO_PARALLEL提示) 505
11.10.7 使用並行操作創建表和索引的示例 506
11.10.8 通過V$視圖監控並行操作 507
11.10.9 在並行操作中使用EXPLAIN PLAN和AUTOTRACE 509
11.10.10 使用set autotrace on命令 511
11.10.11 優化並行執行和初始化參數 512
11.10.12 並行加載 514
11.10.13 優化RAC中的並行操作 515
11.10.14 並行操作的目標 515
11.10.15 RAC並行使用模型 515
11.10.16 並行相關的初始化參數 515
11.10.17 查看並行統計數據的V$視圖 515
11.10.18 Create Table As 516
11.10.19 並行建立索引 516
11.10.20 性能注意事項和小結 516
11.10.21 其他的並行操作注意事項 516
11.11 Oracle的連線文檔 517
11.12 要訣回顧 517
第12章 V$視圖(針對開發人員和DBA) 519
12.1 創建和授權訪問V$視圖 520
12.2 獲取構建V$視圖的X$腳本列表 524
12.3 使用有幫助的V$腳本 526
12.3.1 基本的數據庫信息 527
12.3.2 基本的自動負載資料庫(AWR)信息 527
12.3.3 基本的許可信息 528
12.3.4 數據庫中已安裝的數據庫選項 529
12.4 內存分配概要(V$SGA) 530
12.4.1 設置INMEMORY_SIZE後查詢V$IM_SEGMENTS 531
12.4.2 自動內存管理與MEMORY_TARGET參數 532
12.4.3 詳盡的內存分配(V$SGASTAT) 533
12.4.4 PDB和根CDB內存分配的詳細信息(V$SGASTAT) 534
12.5 在V$PARAMETER視圖裡找出
spfile.ora/init.ora參數設置 534
12.6 在PDB級別修改初始化參數 535
12.7 確定數據所需內存(V$SYSSTAT和V$SYSMETRIC) 536
12.8 確定數據字典所需內存(V$ROWCACHE) 537
12.9 確定共享SQL和PL/SQL所需內存(V$LIBRARYCACHE) 538
12.10 查詢V$CONTAINERS 和V$PDBS以獲取容器的信息 539
12.10.1 使用可插拔數據庫時查詢V$CONTAINERS 540
12.10.2 使用可插拔數據庫時查詢V$PDBS 540
12.10.3 使用結果集緩存(Result Cache) 541
12.11 確定需要保留在內存中(固定住)的PL/SQL對象 543
12.12 監控V$SESSION_LONGOPS視圖以定位有問題的查詢 543
12.13 通過V$SQLAREA發現有問題的查詢 545
12.14 檢查用戶的當前操作及其使用的資源 546
12.14.1 查找用戶正在訪問的對象 547
12.14.2 獲取詳細的用戶信息 547
12.15 使用索引 548
12.16 確定鎖定問題 549
12.16.1 殺掉有問題的會話 551
12.16.2 找出使用多個會話的用戶 552
12.16.3 查詢當前的概要文件 552
12.17 找出磁盤I/O問題 553
12.18 檢查權限和角色 556
12.19 等待事件V$視圖 558
12.20 一些主要的V$視圖類別 561
12.21 要訣回顧 568
第13章 X$表(針對高級DBA) 571
13.1 X$表介紹 572
13.1.1 有關X$表的誤解 573
13.1.2 授權查看X$表 573
13.2 在Oracle 12c中創建V$視圖和X$表 574
13.3 獲得Oracle 12c中所有X$表的列表 577
13.4 獲得Oracle 12c中所有X$索引的列表 578
13.5 對X$表和索引使用的提示 579
13.6 監控共享池的空間分配 580
13.7 創建查詢腳本來監控共享池 581
13.7.1 ORA-04031錯誤 581
13.7.2 空間分配過大而引起的爭用 582
13.7.3 共享池碎片化 582
13.7.4 共享池和Java池中空閒內存過低 584
13.7.5 使用庫緩存內存 584
13.7.6 過高的硬解析 586
13.7.7 互斥鎖/閂鎖等待和/或休眠 587
13.7.8 其他X$表說明 588
13.8 獲得重做日誌的信息 589
13.9 設置初始化參數 589
13.10 緩衝區緩存/數據塊的詳細信息 592
13.10.1 緩存狀態 593
13.10.2 佔用數據塊緩存的段 595
13.10.3 熱數據塊/閂鎖爭用和等待事件 596
13.11 獲得實例/數據庫相關的信息 600
13.12 高效使用X$表及相關策略 601
13.13 Oracle的內部主題 601
13.13.1 跟蹤 601
13.13.2 DBMS_TRACE包 605
13.13.3 事件 606
13.13.4 轉儲 607
13.13.5 oradebug命令 607
13.13.6 trcsess工具 609
13.14 閱讀跟蹤文件 609
13.14.1 等待信息和響應時間 612
13.14.2 遞歸調用 613
13.14.3 模塊信息 613
13.14.4 提交 613
13.14.5 UNMAP 613
13.14.6 綁定變量 614
13.14.7 錯誤 614
13.15 X$表分組 615
13.16 X$表與非V$固定視圖的聯繫 628
13.17 常見的X$表連接 629
13.18 X$表的命名 630
13.19 12cR2中未來版本的影響 638
13.20 要訣回顧 638
第14章 使用Statspack和AWR報告調優等待、閂鎖和互斥鎖 641
14.1 Oracle 12cR2(12.2)中Statspack和AWR報告的新特性 642
14.2 安裝Statspack 643
14.2.1 perfstat賬戶的安全管理 643
14.2.2 安裝之後 644
14.2.3 收集統計數據 645
14.2.4 運行統計數據報告 647
14.3 AWR和AWR報告 648
14.3.1 手動管理AWR 649
14.3.2 AWR自動快照 650
14.3.3 AWR快照報告 650
14.3.4 在Oracle企業管理器雲控制器中運行AWR報告 651
14.4 Statspack和AWR輸出解析 654
14.4.1 報告頭信息和緩存大小 654
14.4.2 負載概要 654
14.4.3 實例效率 656
14.4.4 共享池統計 658
14.4.5 Top等待事件 658
14.4.6 Oracle Bug 668
14.4.7 Oracle影子進程的生命週期 669
14.4.8 RAC等待事件和互連統計數據 669
14.4.9 Top SQL語句 670
14.4.10 實例活動統計數據 672
14.4.11 表空間和文件I/O的統計數據 676
14.4.12 段統計數據 678
14.4.13 其他的內存統計數據 679
14.4.14 UNDO統計數據 684
14.4.15 閂鎖和互斥鎖統計信息 684
14.4.16 在塊級別調優和查看(高級) 692
14.4.17 數據字典和庫緩存的統計數據 694
14.4.18 SGA內存統計數據 696
14.4.19 非默認的初始化參數 697
14.5 AWR報告和Statspack輸出結果中需要首先查看的15項內容 698
14.5.1 管理Statspack數據 699
14.5.2 升級Statspack 700
14.5.3 卸載Statspack 700
14.6 新ADDM報告的快速說明 700
14.7 12cR2腳本 704
14.8 要訣回顧 706
第15章 施行快速系統審查(針對DBA) 709
15.1 總體績效指數(TPI) 710
15.2 訓練績效指數(EPI) 710
15.3 系統績效指數(SPI) 712
15.4 內存績效指數(MPI) 715
15.4.1 排名前25的“內存濫用”語句是否被優化 715
15.4.2 十大“內存濫用”語句在所有語句中所占的比重 716
15.4.3 緩衝區緩存命中率 717
15.4.4 數據字典緩存命中率 718
15.4.5 庫緩存命中率 719
15.4.6 PGA內存排序命中率 719
15.4.7 空閒的數據緩衝區的比例 720
15.4.8 有效地使用結果集緩存 721
15.4.9 固定/緩存對象 722
15.5 磁盤績效指數(DPI) 723
15.5.1 優化濫用磁盤讀操作的前25條語句 723
15.5.2 最濫用磁盤讀操作的前10條語句占所有語句磁盤讀的比例 724
15.5.3 分離表和索引,或者使用ASM 725
15.5.4 關鍵任務表管理 725
15.5.5 分離關鍵的Oracle文件 726
15.5.6 自動UNDO管理 726
15.5.7 有效地使用可插拔數據庫 728
15.6 總體績效指數 729
15.7 系統綜合檢查示例 730
15.7.1 評級系統 730
15.7.2 系統審查評級類別的示例 730
15.7.3 需要立即採取行動的問題項 731
15.7.4 其他需要採取行動的問題項 732
15.8 系統信息列表 732
15.8.1 與內存有關的數值 732
15.8.2 與磁盤有關的數值 732
15.8.3 與CPU有關的數值 733
15.8.4 與備份和恢復有關的信息 733
15.8.5 命名約定和/或標準以及安全信息問題 734
15.8.6 DBA知識評級 734
15.9 TPI和系統檢查需要考慮的其他項 735
15.10 要訣回顧 735
第16章 運用UNIX實用工具來監控系統(針對DBA) 737
16.1 UNIX/Linux實用工具 738
16.2 使用sar命令來監控CPU的使用情況 738
16.2.1 sar -u(檢查CPU的繁忙程度) 738
16.2.2 sar -d命令(找出I/O問題) 739
16.2.3 sar -b命令(檢查緩衝區高速緩存) 742
16.2.4 sar -q命令(檢查運行隊列和交換隊列的長度) 742
16.3 使用sar命令和vmstat命令監控調頁/交換 743
16.3.1 使用sar命令的-p選項報告調頁活動 743
16.3.2 使用sar命令的-w選項來報告交換和切換活動 744
16.3.3 使用sar命令的-r選項來報告空閒內存和空閒交換空間 744
16.3.4 使用sar命令的-g選項來報告調頁活動 744
16.3.5 使用sar -wpgr命令來報告內存資源的使用情況 745
16.4 使用top命令找出系統上最差的用戶 747
16.5 使用uptime命令監控CPU負載 748
16.6 使用mpstat命令辨認CPU瓶頸 749
16.7 結合使用ps命令和選定的V$視圖 749
16.8 使用iostat命令辨認磁盤I/O瓶頸 752
16.8.1 為磁盤驅動器sd15、sd16、sd17和sd18使用iostat的-d選項 752
16.8.2 使用iostat的-D選項 752
16.8.3 使用iostat的-x選項 753
16.8.4 將iostat的-x選項與shell腳本中的邏輯相結合 753
16.9 使用ipcs命令來確定共享內存 754
16.10 使用vmstat命令監控系統負載 755
16.11 監控磁盤的空閒空間 756
16.11.1 df命令 756
16.11.2 du命令 757
16.12 使用netstat監控網絡性能 757
16.13 修改配置信息文件 758
16.14 改善性能的其他途徑 760
16.15 要訣回顧 760
附錄A 重要的初始化參數(針對DBA) 763
附錄B V$視圖(針對DBA和開發人員) 803
附錄C X$表(針對DBA) 821

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 877
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區