第1章 DB2介紹和安裝 1
1.1 DB2數據庫概述 1
1.1.1 DB2發展曆史 1
1.1.2 DB2版本和平颱支持 5
1.1.3 DB2産品組件和功能 9
1.2 DB2數據庫的安裝與配置 12
1.2.1 DB2在Windows上的安裝 13
1.2.2 DB2在Linux/UNIX上
的安裝 21
1.3 DB2數據庫的體係結構 23
第2章 創建實例和管理服務器 31
2.1 實例 31
2.1.1 實例的概念 31
2.1.2 創建實例 32
2.1.3 實例目錄 35
2.1.4 實例的相關命令 39
2.1.5 DB2INSTANCE變量介紹 44
2.1.6 刪除實例 45
2.1.7 配置實例 45
2.2 管理服務器 46
2.2.1 管理服務器的概念 46
2.2.2 創建管理服務器 47
2.2.3 管理服務器的相關命令 49
2.2.4 刪除管理服務器 49
2.2.5 配置管理服務器 50
第3章 創建數據庫和錶空間 51
3.1 創建數據庫 51
3.1.1 DB2數據庫存儲模型 53
3.1.2 錶空間管理類型 55
3.1.3 創建數據庫 58
3.1.4 數據庫目錄 70
3.2 設計錶空間 73
3.2.1 創建錶空間 73
3.2.2 維護錶空間 76
3.2.3 錶空間設計注意事項 83
3.2.4 prefechsize大小選擇 89
3.2.5 文件係統(CIO/DIO)和
裸設備 90
3.2.6 設置OVERHEAD和
TRANSFERRATE 93
3.2.7 優化RAID設備上錶空間
的性能 93
3.2.8 閤理設置係統臨時錶空間 95
3.3 緩衝池 96
3.3.1 緩衝池的使用方法 97
3.3.2 緩衝池和錶空間之間的關係 97
3.3.3 維護緩衝池 98
3.3.4 緩衝池的設計原則 101
3.4 DB2 V10新特性——多溫度
存儲器 104
3.4.1 存儲器組 104
3.4.2 錶空間與存儲器組 108
3.5 本章小結 109
第4章 訪問數據庫 111
4.1 訪問DB2 111
4.2 DB2圖形化操作環境 112
4.3 DB2 CLP處理程序 121
4.3.1 DB2 CLP簡介 121
4.3.2 DB2 CLP設計 122
4.3.3 DB2 CLP命令選項 124
4.3.4 設置DB2_CLPPROMPT
以定製DB2 CLP 127
4.4 配置DB2服務器的TCP/IP
通信 131
4.4.1 在服務器上更新services
文件 132
4.4.2 在服務器上更新數據庫
管理器配置文件 133
4.4.3 設置DB2服務器的通信
協議 134
4.4.4 查看服務器通信端口的
狀態 134
4.4.5 使用控製中心配置DB2
服務器通信 134
4.5 配置客戶機至服務器通信 135
4.5.1 客戶機至服務器通信概述 135
4.5.2 使用控製中心配置客戶端
通信 136
4.5.3 使用CA配置客戶機到
服務器通信 137
4.5.4 深入瞭解DB2節點目錄、
數據庫目錄 142
4.5.5 使用CLP配置客戶機到
服務器通信的案例 148
4.6 實際生産中連接數據庫的
各種方式 152
4.7 案例:數據庫連接問題診斷 155
4.8 本章小結 159
第5章 創建數據庫對象 161
5.1 模式 161
5.1.1 模式的概念 161
5.1.2 係統模式 163
5.1.3 設置和獲得當前模式 163
5.1.4 模式和用戶的區彆 164
5.2 錶設計 165
5.2.1 選擇閤適的數據類型 165
5.2.2 選擇閤適的約束類型 168
5.2.3 使用not null with default 171
5.2.4 生成列及應用案例 171
5.2.5 自動編號和標識列應用
案例 172
5.2.6 使用not logged initially
特性 173
5.2.7 使用append on特性 174
5.2.8 數據、索引和大對象分開
存放 175
5.2.9 設置pctfree 175
5.2.10 錶的locksize 176
5.2.11 錶的volatile特性 176
5.2.12 錶維護相關命令 177
5.2.13 錶設計高級選項 181
5.3 索引設計 187
5.3.1 索引的優點 187
5.3.2 索引類型 188
5.3.3 索引結構 191
5.3.4 理解索引的訪問機製 193
5.3.5 創建集群索引 196
5.3.6 創建雙嚮索引 197
5.3.7 完全索引訪問
(index access only) 198
5.3.8 創建索引示例 199
5.3.9 索引總結 205
5.4 使用序列提高性能 207
5.4.1 應用程序性能和序列 207
5.4.2 序列的設計原則 208
5.4.3 維護序列 209
5.4.4 比較序列與標識列 213
5.5 視圖 215
5.5.1 視圖的類型 215
5.5.2 創建with check option
視圖 219
5.5.3 維護視圖 220
5.6 錶錶達式 221
5.6.1 嵌套的錶錶達式 221
5.6.2 公用錶錶達式 221
5.7 觸發器設計 223
5.7.1 觸發器的類型 223
5.7.2 觸發器創建示例 225
5.7.3 觸發器設計總結 227
5.8 例程 228
5.9 本章小結 229
第6章 數據移動 231
6.1 數據移動格式 231
6.1.1 定界ASCII文件格式 232
6.1.2 非定界ASCII文件格式 232
6.1.3 PC/IXF文件格式 233
6.1.4 工作錶文件格式 233
6.1.5 遊標 233
6.2 EXPORT 234
6.2.1 EXPORT概述 234
6.2.2 導齣數據 234
6.2.3 導齣數據示例 237
6.3 IMPORT 238
6.3.1 IMPORT概述 238
6.3.2 導入數據 238
6.3.3 導入示例 244
6.4 LOAD 246
6.4.1 LOAD概述 246
6.4.2 裝入數據 247
6.4.3 裝入示例 255
6.4.4 在綫LOAD 259
6.4.5 監控LOAD進度 262
6.4.6 LOAD期間和之後的錶空間
狀態 263
6.4.7 使用CURSOR文件類型
移動數據 266
6.4.8 提高LOAD性能 267
6.4.9 LOAD失敗恢復 272
6.4.10 LOAD和IMPORT
的比較 275
6.5 數據移動的性能問題 276
6.6 db2move和db2look 277
6.6.1 數據庫移動工具
——db2move 278
6.6.2 DB2 DDL提取工具
——db2look 280
6.6.3 利用db2move和
db2look移動數據的案例 280
6.6.4 帶COPY操作的
db2move實用程序 284
6.7 本章小結 289
第7章 數據庫備份與恢復 291
7.1 恢復的概念 291
7.1.1 崩潰恢復(Crash Recovery) 295
7.1.2 災難恢復
(Disaster Recovery) 296
7.1.3 版本恢復(Version Restore) 296
7.1.4 前滾恢復
(RollForward Recovery) 297
7.2 DB2日誌 299
7.2.1 日誌文件的使用 300
7.2.2 日誌類型 302
7.2.3 日誌相關配置參數 305
7.2.4 數據庫日誌總結 306
7.2.5 DB2日誌的建議設置 308
7.3 數據庫和錶空間備份 310
7.3.1 數據庫備份 310
7.3.2 錶空間備份 312
7.3.3 增量備份 312
7.3.4 檢查備份完整性——
db2ckbkp 314
7.4 數據庫和錶空間恢復 316
7.4.1 數據庫恢復 316
7.4.2 錶空間恢復 318
7.4.3 增量恢復 321
7.4.4 增量恢復檢查——
db2ckrst 322
7.4.5 重定嚮恢復 322
7.4.6 恢復已刪除的錶 325
7.5 數據庫和錶空間前滾 329
7.5.1 數據庫前滾 329
7.5.2 錶空間前滾 331
7.6 RECOVER實用程序 334
7.7 恢復曆史文件 338
7.8 數據庫重建 341
7.8.1 數據庫重建的概念 341
7.8.2 使用錶空間備份重建可恢復
數據庫 341
7.8.3 隻使用部分錶空間備份重建
可恢復數據庫 344
7.8.4 使用包含日誌文件的在綫
備份重建數據庫 346
7.8.5 使用增量備份映像重建
可恢復數據庫 346
7.8.6 使用重定嚮選項重建可恢復
數據庫 347
7.8.7 重建不可恢復數據庫 348
7.8.8 數據庫重建的限製 348
7.9 監控備份、復原和恢復進度 349
7.10 備份、恢復和復原期間的錶
空間狀態 350
7.11 優化備份、復原和恢復
性能 350
7.12 備份恢復最佳實踐 352
第8章 SQL基礎知識 355
8.1 簡單查詢入門 355
8.1.1 SELECT和FROM 356
8.1.2 WHERE 356
8.1.3 ORDER BY 356
8.1.4 GROUP BY和HAVING 357
8.2 搜索條件 358
8.2.1 謂詞種類 358
8.2.2 基本謂詞 358
8.2.3 量化謂詞 359
8.2.4 BETWEEN、EXISTS和IN
謂詞 360
8.2.5 LIKE謂詞 360
8.2.6 NULL謂詞 361
8.3 數據操作語言 361
8.3.1 INSERT 361
8.3.2 DELETE 362
8.3.3 UPDATE 363
8.3.4 MERGE 364
8.4 多錶查詢 366
8.4.1 JOIN連接 366
8.4.2 集閤運算 367
8.5 高性能的SQL語句 369
8.5.1 高效SQL的準則 369
8.5.2 提高插入性能的準則 371
8.5.3 復雜查詢的準則 372
8.5.4 索引的注意事項 373
8.6 本章小結 374
第9章 DB2基本監控方法 375
9.1 監控工具概述 375
9.2 快照監視器 377
9.3 利用錶函數監控 382
9.4 性能管理視圖及案例 385
9.5 快照監視器案例 391
9.5.1 監控案例1——動態 SQL
語句 391
9.5.2 監控案例2——通過錶函數
監控 393
9.5.3 編寫快照監控腳本 395
9.5.4 db2pd及監控案例 396
9.5.5 事件監視器及監控案例 403
9.5.6 db2mtrk及監控案例 407
9.6 本章小結 410
第10章 運行數據庫必須考慮的數據庫
設置 411
10.1 數據庫配置參數概述 411
10.2 通信設置 413
10.3 內存有關的設置 415
10.4 鎖有關的設置 421
10.5 日誌相關的配置 426
10.6 自動維護相關的配置 431
10.7 監控相關的配置 432
10.8 安全相關的設置 434
10.9 供參考的DB2上綫前設置 434
10.10 本章小結 437
第11章 DBA日常運行維護 439
11.1 統計信息更新 439
11.1.1 統計信息的重要性 440
11.1.2 減小RUNSTATS對
係統性能影響的策略 447
11.1.3 DB2自動統計信息收集 448
11.2 統計信息更新案例分析 451
11.2.1 RUNSTATS更新示例 451
11.2.2 收集分布式統計信息 452
11.2.3 包含頻率和分位數統計
信息的RUNSTATS 453
11.2.4 包含列組統計信息的
RUNSTATS 455
11.2.5 包含 LIKE STATISTICS
的RUNSTATS 455
11.2.6 包含統計信息配置文件
的RUNSTATS 456
11.2.7 帶有抽樣的RUNSTATS 456
11.2.8 帶有係統頁級抽樣的
RUNSTATS 457
11.2.9 收集統計信息的其他可供
選擇的方法 458
11.2.10 RUNSTATS總結 459
11.3 碎片整理 459
11.3.1 錶重組(REORG) 460
11.3.2 索引重組 468
11.3.3 重組錶和索引的成本 474
11.3.4 閤理設計以減少碎片
生成 475
11.3.5 啓用錶和索引的自動
重組 476
11.4 碎片整理案例分析 477
11.4.1 執行錶、索引檢查是否
需要做REORG 477
11.4.2 錶和索引碎片整理 478
11.5 案例:生成碎片檢查、統計
信息更新、碎片整理和
REBIND腳本 479
11.6 重新綁定程序包 479
11.7 DB2健康檢查 481
11.7.1 查看是否有僵屍實例
進程 481
11.7.2 檢查數據庫是否一緻 482
11.7.3 查找診斷日誌以判斷是否
有異常 482
11.7.4 檢查數據庫備份完整性、
日誌歸檔是否正常 482
11.7.5 維護實例目錄和數據庫
目錄的權限 485
11.7.6 查看磁盤空間 485
11.8 數據庫監控 486
11.8.1 監控工具 486
11.8.2 計算數據庫的大小 488
11.8.3 監控錶的物理大小 488
11.8.4 監控單個索引的大小 488
11.8.5 監控數據庫實用工具的
進度 489
11.8.6 監控數據庫crash recovery
進度 489
11.8.7 監控catalog cache命中率 489
11.8.8 監控package cache
命中率 489
11.8.9 監控排序溢齣率 489
11.8.10 監控正在REORG的錶 489
11.8.11 監控緩衝池命中率 489
11.8.12 監控高成本應用程序 490
11.8.13 監控正在執行的時間
最長的SQL語句 490
11.8.14 監控SQL準備和預編譯
時間最長的SQL語句 490
11.8.15 監控執行次數最多的
SQL語句 491
11.8.16 監控執行時間最長的
SQL語句 491
11.8.17 監控排序次數最多的
SQL語句 491
11.8.18 監控引起鎖等待的SQL
語句 491
11.8.19 查找新創建的對象 491
11.8.20 查找無效對象 492
11.8.21 檢查錶空間狀態 492
11.8.22 檢查錶狀態 493
11.8.23 查找需要REORG的錶
和索引 493
11.8.24 查找需要RUNSTATS的
錶和索引 494
11.8.25 定期清理db2diag.log
文件 495
11.8.26 查找異常增長的錶空間
和錶 495
11.8.27 數據庫維護總結 496
第12章 數據庫常用工具 499
12.1 解釋工具 499
12.1.1 Visual Explain
(可視化解釋) 499
12.1.2 db2expln 507
12.1.3 db2exfmt 510
12.1.4 各種解釋工具的比較 511
12.1.5 如何從解釋信息中獲取有
價值的建議 512
12.2 索引設計工具(db2advis) 513
12.2.1 DB2 Design Advisor
(db2advis) 513
12.2.2 DB2 Design Advisor
(db2advis)案例講解 514
12.3 基準測試工具db2batch 517
12.3.1 db2batch 517
12.3.2 db2batch基準程序測試
分析示例 519
12.4 數據一緻性檢查工具 520
12.4.1 db2dart及案例 520
12.4.2 inspect及案例 521
12.5 db2look 522
12.5.1 db2look概述 522
12.5.2 利用db2look構建模擬
測試數據庫 524
12.6 其他工具 526
12.6.1 db2bfd 526
12.6.2 db2_kill和db2nkill 527
12.6.3 db2tbst 527
12.7 本章小結 528
第13章 DB2 V10.1新特性 529
13.1 分身大法——pureScale 529
13.1.1 基本介紹 529
13.1.2 安裝和管理 532
13.1.3 性能監控 537
13.2 九陰白骨爪——Continue Data
Ingest 541
13.2.1 Continue Data Ingest
介紹 541
13.2.2 CDI 實際操作案例 544
13.3 縮骨大法——自適應壓縮 553
13.3.1 基本介紹 553
13.3.2 自適應壓縮的工作方式 554
13.3.3 啓用或禁用自適應壓縮 554
13.3.4 評估錶壓縮率 555
13.3.5 經典行壓縮和自適應
壓縮的對比測試 557
13.3.6 歸檔日誌壓縮 566
13.4 乾坤大挪移——災備功能
增強 567
13.4.1 基本介紹 567
13.4.2 超級異步 567
13.4.3 假脫機日誌 570
13.4.4 重做延遲 570
13.4.5 多備機 572
13.4.6 監控指標 573
13.5 淩波微步——性能增強 574
13.5.1 提高瞭一組常用SQL
語句的查詢性能 574
13.5.2 RUNSTATS支持索引
采樣 575
13.5.3 優化概要文件能支持
注冊錶變量和非精確
匹配 575
13.5.4 統計視圖改進瞭統計信息
以及查詢優化器的統計信息
收集 576
13.5.5 分區內並行性改進 576
13.5.6 通過更有效地進行數據和
索引預取來提高查詢
性能 578
13.5.7 提高瞭對具有組閤索引的
錶執行的查詢的性能 579
13.5.8 提高瞭基於星型模式的
查詢的性能 580
13.6 火眼金睛——監控增強 581
13.6.1 用於跟蹤配置更改的事件
監視器 581
13.6.2 用法列錶對象記錄影響
錶或索引的語句 583
13.6.3 使用新的STATEMENT
閾值域為特定語句創建
閾值 585
13.6.4 用於訪問監視信息的新函
數和已更改的函數 588
13.6.5 工作單元事件監視器捕獲
的信息中現在包括的可執行
標識列錶 589
13.6.6 使用ALTER EVENT監視
器語句修改事件監視器捕獲
的信息作用域 589
13.6.7 其他監控增強 590
13.7 金鍾罩——安全功能增強 591
13.7.1 RCAC特點 591
13.7.2 RCAC規則 592
13.7.3 RCAC實戰 592
13.8 本章小結 593
· · · · · · (
收起)