《讓Oracle跑得更快2:基於海量數據的資料庫設計與最佳化》是2011年出版的書籍,作者是譚懷遠。
基本介紹
- 書名:讓Oracle跑得更快2:基於海量數據的資料庫設計與最佳化
- 作者:譚懷遠
- ISBN:9787121139215
- 頁數:452
- 定價:69元
- 出版社:電子工業出版社
- 出版時間:2011-07
- 裝幀:平裝
- 開本:16
- 字數:721千字
內容簡介,目錄,
內容簡介
資料庫設計,是最近幾年才出現的技術領域,再早的時候,資料庫是以一個黑盒的方式,附屬到某個系統當中的,開發人員對它的關注非常少。 近年來,由於很多系統數據量呈幾何級數激增,各種性能問題日益凸顯出來,而這種性能問題絕大多數都落在了數據的載體——資料庫身上,因此,人們越來越關注資料庫的性能。而一個資料庫性能的好壞,通常是在系統設計階段就決定了的,於是,將資料庫從系統設計中拿出來單獨進行設計,變得越來越主流了。 這是一本以討論海量數據環境下Oracle資料庫設計與最佳化的書籍,也是作者10年來從事Oracle資料庫工作的心得體會,是作者工作經驗的結晶,這樣的書籍並不多見。 本書通篇圍繞著在海量數據環境下,如何構造一個高效的Oracle資料庫這一核心,將許多相關技術融匯到這個核心話題當中,這些技術包括:分區、索引、資料庫對象屬性、並行技術、唯讀表空間、初始化參數、幾種常見的資料庫架構,以及在特定資料庫架構下資料庫的備份和恢復等相關技術。
目錄
開篇的話 1
第一篇 分 區
第1章 分區的淵源 8
1.1 DELETE與系統資源 9
1.2 DELETE與釋放空間 17
第2章 分區在海量資料庫中的套用 22
2.1 分區的種類 23
2.1.1 範圍分區 23
2.1.3 列表分區 51
2.1.4 組合分區 53
2.2 三種分區的比較 56
2.2.1 範圍分區的適用情況 57
2.2.2 哈希分區的效率 57
2.2.3 列表分區與範圍分區各自的優勢 65
2.3 小結 72
第二篇 索 引
第3章 B樹索引 74
3.1 B樹索引概述 75
3.2 B數索引的效率 76
3.2.1 主鍵或者唯一性約束 76
3.2.2 鍵值重複率低的欄位比較適合使用B樹索引 88
第4章 點陣圖索引 97
4.1 點陣圖索引概述 98
4.2 什麼時候使用點陣圖索引 110
第5章 全文索引 123
5.1 全文索引概述 123
5.1.1 全文索引和普通索引的對比 124
5.1.2 全文索引的對象 128
5.1.3 全文索引在海量資料庫中的套用 138
5.2 全文索引的空間 154
5.3 全文索引和DML操作 161
5.3.1 INSERT操作 161
5.3.2 DELETE操作 165
5.3.3 UPDATE操作 167
5.4 CTX_REPORT工具包 171
5.4.1 CTX_REPORT.DESCRIBE_INDEX 175
5.4.2 DESCRIBE_POLICY函式 178
5.4.3 CREATE_INDEX_SCRIPT函式 179
5.4.4 CREATE_POLICY_SCRIPT函式 181
5.4.5 INDEX_SIZE函式 182
5.4.6 INDEX_STATS存儲過程 185
5.4.7 QUERY_LOG_SUMMARY存儲過程 187
5.5 小結 194
第三篇 對 象 屬 性
第6章 對象屬性概述 196
6.1 Oracle資料庫中的對象屬性 196
6.2 對象屬性和系統的關係 201
第7章 並行度 204
7.1 對象屬性上的並行 205
7.2 使用Hint方式並行執行 209
7.3 索引上的並行度 212
第8章 數據壓縮 218
8.1 數據壓縮技術的套用 219
8.2 分區索引的壓縮 223
8.3 數據壓縮的優越性 226
8.3.1 節省空間 226
8.3.2 性能的提高 233
8.4 DML操作和數據壓縮 241
第9章 唯讀表空間 248
9.1 唯讀表空間與數據備份和恢復的關係 249
9.2 唯讀表空間對於資料庫的啟動和關閉的影響 253
9.3 唯讀表空間可以防止數據被意外刪除和修改 258
9.4 唯讀表空間使表空間的管理更加方便 262
第10章 資料庫對象的分析 268
10.1 CBO和RBO 269
10.2 分析和動態採樣 274
10.3 對象分析的頻度 278
10.3.1 數據入庫後不再改變 278
10.3.2 數據存在表中且經常改變 295
第四篇 海量數據的資料庫架構設計
第11章 RAC架構 310
11.1 RAC在海量資料庫中的套用 318
11.2 RAC架構之業務分割 320
11.3 RAC架構之負載均衡 333
11.3.1 客戶端的負載均衡 333
11.3.2 伺服器端的負載均衡 339
11.4 RAC架構之FAILOVER 341
第12章 分散式資料庫 344
12.1 分散式資料庫的優越性 344
12.2 分散式資料庫的數據處理 346
12.3 分散式資料庫的字元集 348
第13章 Data Guard 350
13.1 Data Guard概述 351
13.2 Data Guard的保護模式 354
13.2.1 最高數據保護模式 354
13.2.2 最高性能模式 354
13.2.3 最高可用性模式 355
13.3 Data Guard和RAC 356
13.4 Data Guard中Standby資料庫的類型 357
13.4.1 物理Standby資料庫 357
13.4.2 邏輯Standby資料庫 358
第14章 存儲架構的設計(ASM+SAN) 360
14.1 ASM 361
14.1.1 方便存儲管理 362
14.1.2 ASM的一個管理工具—asmcmd 370
14.1.3 存儲的高可用性 373
14.1.4 提升存儲性能 376
14.2 SAN 377
第15章 海量數據的備份和恢復 380
15.1 傳統的數據備份方案 380
15.1.1 通過數據導出方式備份數據 381
15.1.2 資料庫冷備份 381
15.1.3 資料庫熱備份 382
15.2 海量數據的資料庫備份和恢複方案 383
15.2.1 使用分散式資料庫 383
15.2.2 以傳遞表空間的方式對表空間進行備份和恢復 384
15.2.3 對載入數據進行備份 395
第五篇 初始化參數
第16章 記憶體相關的參數 400
16.1 SGA_TARGET 400
16.2 PGA_AGGREGATE_TARGET 406
第17章 I/O相關的參數 409
17.1 DB_FILE_MULTIBLOCK_READ_COUNT 410
17.2 和資料庫I/O及數據檔案相關的其他4個參數 415
17.2.1 DB_WRITER_PROCESSES 415
17.2.2 DISK_ASYNCH_IO 416
17.2.3 DBWR_IO_SLAVES 417
17.2.4 DB_FILES 417
第18章 最佳化器相關的參數 418
18.1 CURSOR_SHARING 418
18.2 OPTIMIZER_DYNAMIC_SAMPLING 422
18.3 OPTIMIZER_MODE 425
18.3.1 ALL_ROWS 425
18.3.2 FIRST_ROWS_n 425
18.3.3 FIRST_ROWS 426
第19章 其他的參數 428
19.1 並行相關的參數 428
19.1.1 在對象的屬性中設定並行 429
19.1.2 Hint中使用並行 429
19.2 分散式資料庫相關的參數 432
附錄A Oracle字元集 434
附錄B SHOW_SPACE存儲過程 443
附錄C 一個典型的OLAP系統資料庫的設計方案 447
C.1 架構 448
C.2 對象設計 449
C.3 初始化參數 460