第1章 數據倉庫概述 1
1.1 特別糟糕的一天 2
1.2 當前報表架構存在的問題 3
1.3 目標:業(yè)務智能 3
1.4 一個數據自動柜員機 4
1.5 數據倉庫定義 6
1.5.1 面向主題 6
1.5.2 集成性 8
1.5.3 穩(wěn)定性 9
1.5.4 不同時間性 9
1.6 業(yè)務智能與事務處理的區(qū)別 10
1.7 數據倉庫:“一個骯臟的小秘密” 11
1.8 投資回報 12
1.9 用Oracle8i建立數據倉庫的原因 14
1.9.1 Oracle8i—關系型數據庫 14
1.9.2 Oracle Report和PL/SQL開發(fā)工具 14
1.9.3 Oracle Warehouse Builder—ETL 14
1.9.4 Express—多維數據庫引擎 15
1.9.5 Discoverer—關系OLAP查詢
工具 15
1.9.6 Oracle數據挖掘套件 15
1.10 關于本書 15
1.11 輕輕松松工作 16
第2章 需要考慮的問題 17
2.1 不要輕信我們所說的—要客觀 17
2.2 文章和書籍包含的是觀點而非事實 17
2.3 謹慎采購 18
2.4 從業(yè)務需求開始—而不是技術 18
2.5 什么東西該存入數據倉庫 19
2.6 數據集市還是數據倉庫 19
2.7 大笨鐘和小迭代—開發(fā)階段 21
2.8 參照完整性永存 22
2.9 另一個秘密武器—ROI 23
2.10 查詢工具—不僅僅是一個 23
2.11 數據倉庫差別—開發(fā)者的看法 24
2.12 數據倉庫差別—用戶觀點 25
2.13 授權用戶 25
2.14 Oracle數據倉庫為什么獨占鰲頭 26
2.14.1 整體解決方案 26
2.14.2 OLTP和服務器訪問 26
2.14.3 一個存儲庫/多種解決方案 28
2.14.4 現存的關系 28
2.14.5 投資回報 28
第3章 組建開發(fā)團隊 29
3.1 數據倉庫團隊角色清單 29
3.2 數據倉庫團隊所需的角色 32
3.2.1 數據倉庫工程主管 32
3.2.2 數據倉庫工程管理員 33
3.2.3 數據準備專家. 業(yè)務分析員 34
3.2.4 數據倉庫工程師 35
3.2.5 數據庫管理員 36
3.2.6 系統管理員 37
3.2.7 數據遷移專家 38
3.2.8 數據轉換/凈化專家 38
3.2.9 數據集市開發(fā)負責人 39
3.2.10 質量擔保/測試專家 40
3.2.11 基礎結構專家 41
3.2.12 超級用戶(原有系統專家) 41
3.2.13 培訓員 42
3.2.14 技術書記員 42
3.2.15 公關人員 43
3.2.16 企業(yè)中的盟友 43
3.2.17 桌面支持人員 43
3.2.18 工具專家 44
3.2.19 經銷商關系人員 44
3.2.20 Web站點管理員 44
3.3 招聘數據倉庫團體成員的傳統戰(zhàn)略 45
3.3.1 招聘廣告 45
3.3.2 獵頭公司 47
3.3.3 員工推薦 49
3.3.4 招聘會 50
3.3.5 用戶組織和貿易組織 51
3.3.6 與大學的聯系 51
3.3.7 在Internet上建立你自己的站點 52
3.3.8 利用Internet上提供的一些商業(yè)
搜索站點 52
3.3.9 員工福利 53
3.3.10 在與候選人會面過程中的
處理方法 53
3.3.11 盡快給出答復 53
第4章 數據倉庫工程管理 55
4.1 數據倉庫的推動力量 56
4.2 為工程做好準備 57
4.2.1 合適的企業(yè)資助人 57
4.2.2 聯合業(yè)務和技術工程 58
4.2.3 建立數據倉庫的正當業(yè)務理由 58
4.3 選取一個目標并向它邁進 58
4.3.1 關鍵業(yè)務用戶會議 59
4.3.2 會晤關鍵人員 59
4.4 工程管理的好處 60
4.4.1 工程管理定義 60
4.4.2 什么是工程 62
4.5 工程范圍說明書 62
4.6 工作細目結構 64
4.7 工程估算 67
4.8 范圍拓展 71
4.9 跟蹤工程進度 72
4.9.1 更改請求 72
4.9.2 工程日志 73
4.9.3 用戶驗收 73
4.9.4 工程會議 73
4.10 慶賀成功 74
4.11 工程管理總結 74
第5章 數據倉庫設計方法 79
5.1 信息設施 79
5.2 信息設施的基礎結構 79
5.3 數據倉庫設計結構 80
5.4 優(yōu)先選擇的結構:綜合層和高性能
查詢結構 80
5.4.1 數據存儲1—源系統 81
5.4.2 數據流1—從數據源到綜合層 81
5.4.3 數據存儲2—綜合層 85
5.4.4 數據流2—從綜合層到高性能
查詢結構 90
5.4.5 數據存儲3—高性能查詢結構 91
5.4.6 數據流3—從高性能查詢結構到最
終用戶報表應用程序 91
5.4.7 數據存儲4—最終用戶手中的
數據 91
5.5 備選的數據倉庫結構 92
5.5.1 備選結構1—不用數據倉庫 92
5.5.2 備選結構2—規(guī)范化設計 92
5.5.3 備選結構3—僅有數據集市 93
5.6 再談信息設施 93
第6章 數據倉庫開發(fā)方法 94
6.1 數據倉庫風險 94
6.1.1 技術風險 94
6.1.2 工程管理風險 94
6.1.3 業(yè)務風險 95
6.2 方法概述 96
6.3 第一階段—設想階段 97
6.3.1 設想階段目標 97
6.3.2 設想的關鍵交付項 97
6.3.3 設想流程 99
6.4 第二階段—探索階段 100
6.4.1 探索階段目標 100
6.4.2 探索階段的關鍵交付項 100
6.4.3 探索階段流程 101
6.5 第三階段—體系結構設計階段 102
6.5.1 體系結構設計階段目標 102
6.5.2 體系結構設計階段的關鍵交付項 102
6.5.3 體系結構設計階段流程 103
6.6 第四階段—構造階段 104
6.6.1 構造階段目標 104
6.6.2 構造階段的關鍵交付項 104
6.6.3 構造階段流程 104
6.7 第五階段—實現階段 104
6.7.1 實現階段的目標 105
6.7.2 實現階段的關鍵交付項 105
6.7.3 實現階段流程 105
6.8 第六階段—審查和反復階段 106
6.8.1 審查和反復階段目標 106
6.8.2 審查和反復階段關鍵交付項 106
6.8.3 審查和反復階段流程 106
第7章 數據集市和星形模式設計 107
7.1 數據集市—用戶可訪問的數據 107
7.1.1 既有數據倉庫, 何需數據集市 107
7.1.2 數據集市能代替數據倉庫嗎 108
7.1.3 典型技術 108
7.2 星形模式設計 109
7.3 設計過程 109
7.3.1 從事實表開始還是從維表
開始設計 111
7.3.2 事實表設計 111
7.3.3 維表設計 112
7.3.4 雪花模式:星形模式的一個變體 115
7.3.5 參照完整性 116
7.4 概要表 116
7.4.1 實例化視圖 117
7.4.2 維表的作用 117
7.4.3 確定建立概要的兩個規(guī)則 118
7.5 通用設計復雜度 118
7.5.1 慢速變化維表 118
7.5.2 非附加事實 119
7.6 包含多事實表的維化數據倉庫和
數據集市 121
7.7 結論 122
第8章 物理數據倉庫 123
8.1 VLDB 123
8.1.1 時機窗 123
8.1.2 實現一個VLDB 124
8.1.3 表和分區(qū) 124
8.2 支持一個星形模式 125
8.2.1 從理論到實踐 125
8.2.2 體系的逆規(guī)范化 125
8.2.3 星形模式實現 126
8.2.4 維 128
8.3 并行性和物理數據倉庫性能 133
8.3.1 大規(guī)模并行處理和對稱式多處理 134
8.3.2 并行查詢 134
8.3.3 并行性和數據倉庫 134
8.3.4 并行度 136
8.3.5 在實例級設置并行度 137
8.4 分割表空間 137
8.4.1 系統支持的表空間 137
8.4.2 應用表空間 138
8.4.3 為用戶指定表空間 138
8.5 實現物理數據倉庫的其他考慮事項 138
8.6 Oracle Internet文件系統 140
8.7 物理實現方法 141
第9章 ETL體系結構基礎 142
9.1 ETL基礎結構:數據倉庫的基礎 142
9.2 ETL和數據倉庫的基礎 142
9.2.1 確定ETL范圍 143
9.2.2 對ETL元數據的需求 144
9.2.3 ETL工具和手工開發(fā)比較 145
9.2.4 選擇一個ETL體系結構 146
9.2.5 確定ETL體系結構 150
9.3 成為ETL的行家里手 150
9.4 從何處開始 151
9.4.1 再談元數據 151
9.4.2 抽取分析 151
9.4.3 變化數據捕獲 153
9.4.4 目標表刷新策略 153
9.4.5 數據轉換 159
9.4.6 作業(yè)調度 163
9.4.7 平衡 163
9.4.8 成為一個ETL的行家里手 164
第10章 加載Oracle數據倉庫 166
10.1 數據庫對象 167
10.2 SOL*Loader 168
10.2.1 SOL*Loader特性 168
10.2.2 激活SOL*Loader 169
10.2.3 SOL*Loader的輸入和輸出 170
10.2.4 控制文件 171
10.2.5 處理定長記錄 174
10.2.6 定長記錄實例 174
10.2.7 處理變長記錄 181
10.2.8 并行和直接加載 182
10.2.9 激活另一個日志 182
10.3 導入和導出 185
10.3.1 操作模式 185
10.3.2 操作方法 185
10.4 導出 186
10.4.1 輸入導出程序(Export)
的參數 186
10.4.2 關于導出分區(qū)表的一點說明 187
10.4.3 導出實例1 188
10.4.4 導出實例2 190
10.4.5 導出實例3 191
10.5 導入 192
10.5.1 輸入導入程序(Import)的參數 193
10.5.2 關于將數據導入分區(qū)的一點說明 195
10.5.3 導入實例1 195
10.5.4 導入實例2 196
10.5.5 導入實例3 197
10.6 PL/SQL方法 199
10.6.1 utl_file 202
10.6.2 動態(tài)SQL 203
10.7 OWB 205
10.7.1 關于用OWB進行設計的
簡單說明 205
10.7.2 用OWB建立數據倉庫 206
10.7.3 元數據 209
10.8 其他ETL方案 209
10.9 ETL代碼生成器工具 212
10.10 Oracle透明網關 214
10.10.1 網關技術的優(yōu)點 214
10.10.2 在數據轉換中運用網關技術 215
第11章 OWB 216
11.1 OWB軟件體系結構 217
11.1.1 元數據存儲庫 218
11.1.2 用戶界面 219
11.1.3 代碼生成器 220
11.1.4 集成器 220
11.1.5 Runtime 220
11.2 OWB控制臺—引導游覽 220
11.2.1 OWB對象 221
11.2.2 操作模式 222
11.2.3 創(chuàng)建工程 223
11.3 使用OWB開發(fā)數據倉庫工程 224
11.3.1 第1步—定義源數據 224
11.3.2 第2步—設計數據目標 228
11.3.3 第3步—將源數據映射到
目標數據 234
11.3.4 第4步—代碼生成 237
11.3.5 第5步—管理數據倉庫 238
第12章 數據分區(qū) 240
12.1 對數據進行分區(qū)的原因 240
12.1.1 常規(guī)管理技術 241
12.1.2 易于備份 241
12.1.3 易于重建 241
12.1.4 易于存檔/刪除 242
12.2 分區(qū)對象和未分區(qū)對象間的區(qū)別 242
12.3 分區(qū)決策 244
12.4 Oracle8i分區(qū)類型 256
12.4.1 基于范圍的分區(qū)技術 256
12.4.2 基于范圍分區(qū)的維護操作 260
12.4.3 散列分區(qū)簡介 264
12.4.4 組合分區(qū)—最好的分區(qū)方法 266
第13章 索引數據倉庫 268
13.1 索引哪些列 269
13.1.1 考慮列的可選度 269
13.1.2 考慮謂詞中涉及的列 270
13.1.3 數據倉庫的獨特性 271
13.2 單列索引和組合索引 271
13.3 Oracle8i索引方法 271
13.3.1 B-樹索引 272
13.3.2 位映像索引 273
13.3.3 索引組織化表 276
13.3.4 換向鍵索引 278
13.3.5 基于函數的索引 278
13.4 分區(qū)表索引 281
13.4.1 局部索引還是全局索引 281
13.4.2 建立局部索引 282
13.4.3 建立全局索引 284
13.5 優(yōu)化直方圖(optimizer histogram) 285
13.6 主鍵索引 287
13.7 優(yōu)化索引建立過程 288
13.7.1 建立索引時抑制產生Undo信息 288
13.7.2 快速重建索引 289
13.8 索引建立和維護指南 289
13.8.1 加載數據, 然后建立索引 289
13.8.2 索引建立時分配大量排序空間 289
13.8.3 臨時工作空間 290
13.8.4 共享池和索引建立 290
13.8.5 每個表中的索引數目 290
13.8.6 顯式地設置存儲參數 292
13.8.7 事務項參數 292
第14章 備份數據倉庫 294
14.1 備份 294
14.1.1 提供保護機制防止錯誤 294
14.1.2 數據備份能夠提供什么 296
14.1.3 影響備份策略的因素 298
14.1.4 最佳備份時機 302
14.1.5 映像備份 302
14.1.6 無人值守的24/7備份 304
14.1.7 備份技術的發(fā)展趨勢 306
14.2 數據恢復 307
14.2.1 恢復的種類 307
14.2.2 用映像備份進行恢復 311
14.3 Oracle恢復管理器 312
14.3.1 恢復目錄 313
14.3.2 建立恢復目錄 313
14.3.3 用RMAN注冊數據倉庫數據庫 314
14.3.4 完整的數據庫備份 315
14.3.5 增量備份 318
14.3.6 還原和恢復 319
第15章 數據倉庫安全 321
15.1 安全性策略 321
15.1.1 工作站安全 321
15.1.2 窺探 322
15.1.3 鏈接到Web還是不鏈接到Web 322
15.1.4 安全性角色 322
15.2 安全性 323
15.2.1 查看數據倉庫數據 323
15.2.2 如何在數據倉庫中進行
權限管理 324
15.2.3 在何處實現安全 326
15.3 Oracle8i密碼安全 326
15.3.1 帳戶鎖定 326
15.3.2 密碼老化和過期 326
15.4 數據庫用戶管理 327
15.5 Oracle DBA Studio和安全性 328
15.5.1 Users 329
15.5.2 Roles 330
15.5.3 Profiles 332
15.5.4 關于Oracle DBA Studio的
強大功能 332
第16章 存儲考慮 334
16.1 Oracle專用術語 334
16.1.1 文件命名規(guī)范 334
16.1.2 存儲術語 335
16.2 空間分配常見問題 336
16.3 報告空間不足 344
16.3.1 不能擴展的對象 345
16.3.2 非零pctincrease 345
16.3.3 不正常的初始盤區(qū)和下一個盤區(qū) 346
16.3.4 太接近maxextents的對象 347
16.3.5 當前表空間中的索引重建 347
16.3.6 具有太多空閑空間的表空間 349
16.3.7 表空間中被浪費的空間 351
16.4 其他各種發(fā)現空間的方法 354
16.4.1 轉儲轉儲文件 354
16.4.2 跟蹤文件 355
16.4.3 釋放未使用的版本占用的空間 356
16.4.4 O和0 356
第17章 優(yōu)化數據訪問 358
17.1 共享池 358
17.1.1 兩個共享池參數 360
17.1.2 確定這些參數的值 360
17.1.3 正確分配共享池的大小 361
17.2 大型池 362
17.3 數據高速緩存中的池 362
17.3.1 定義保留和回收緩沖區(qū)池 363
17.3.2 對象緩沖區(qū)分配 364
17.4 有關優(yōu)化的各種特性 364
17.4.1 只讀表空間 365
17.4.2 臨時表空間 367
17.4.3 本地管理的表空間 368
17.4.4 并行感知的優(yōu)化器 369
17.4.5 讀優(yōu)先機制 369
17.4.6 導出程序的直接路徑存取選項 369
17.4.7 散列連接處理 370
17.5 主管程序 372
17.5.1 建立一個配置文件 372
17.5.2 分配配置文件 373
17.5.3 更改參數配置文件和重新
設置用戶 374
17.6 初始化參數文件 375
17.6.1 參數項類型 375
17.6.2 重要參數描述 376
17.7 使用不同的初始化參數文件啟動
數據倉庫 380
17.7.1 線模式服務器管理程序 380
17.7.2 DBA Studio 381
第18章 把數據發(fā)布給用戶 383
18.1 查詢工具特征 385
18.1.1 易于使用 386
18.1.2 性能 386
18.1.3 多個數據源 387
18.1.4 集中式管理 387
18.1.5 數據安全性 388
18.1.6 可以使用Web 389
18.1.7 集成化分析 389
18.2 使用SQL*Plus生成報表 390
18.3 Cognos Impromptu 391
18.3.1 定義與數據庫的連接 392
18.3.2 建立目錄 392
18.3.3 增加所需的表 393
18.3.4 定義所需的連接 393
18.3.5 建立文件夾結構 394
18.3.6 添加參數配置文件 395
18.4 從終端用戶的角度看Impromptu 395
18.4.1 啟動 395
18.4.2 操作報表 396
18.5 小結 397
第19章 Oracle概要特性 398
19.1 視圖 398
19.2 實例化視圖 399
19.2.1 誰能夠建立實例化視圖和快照 400
19.2.2 主機站點設置 400
19.2.3 遠程站點設置 402
19.2.4 建立快照 403
19.2.5 為什么使用快照 405
19.2.6 對數據字典的影響 405
19.2.7 快照管理 408
19.3 其他聚集操作 412
19.3.1 rollup函數 414
19.3.2 cube函數 415
19.3.3 等級評定函數 416
19.3.4 分窗函數 420
19.3.5 統計函數 422
第20章 OLAP 424
20.1 MOLAP. ROLAP和DOLAP 426
20.2 MOLAP還是ROLAP 426
20.3 為什么需要OLAP 427
20.4 OLAP工具 428
20.4.1 評價OLAP工具 429
20.4.2 使用Cognos Transformer
建立OLAP模型 430
20.4.3 Cognos的PowerPlay 434
20.5 向企業(yè)解決方案遷移 438
20.5.1 Cognos解決方案 439
20.5.2 MicroStrategy解決方案 443
20.6 Oracle和OLAP市場 445
第21章 關系型OLAP和聚集導航器 447
21.1 OLAP:僅僅是四個單詞嗎 447
21.1.1 多維性 447
21.1.2 下鉆 448
21.1.3 旋轉 451
21.1.4 多視圖模式 452
21.1.5 OLAP小結 452
21.2 ROLAP與MOLAP 453
21.2.1 多維數據庫 454
21.2.2 關系型數據庫 455
21.2.3 回到特洛伊:ROLAP
與MOLAP 457
21.2.4 ROLAP與MOLAP的和平共處 461
21.3 提高ROLAP性能的非傳統數據建模 462
21.4 結論 463
第22章 Oracle Discoverer方案 464
22.1 Discoverer綜述 464
22.2 Discoverer組件 465
22.2.1 終端用戶層 466
22.2.2 管理員版本 466
22.2.3 用戶版本 469
22.2.4 查看器版本 472
22.2.5 Discoverer服務器 473
第23章 Oracle Express方案 474
23.1 什么是Express 474
23.2 為什么要使用Express 474
23.2.1 多維形式更加接近于用戶的
思維習慣 474
23.2.2 一步到位的方案 475
23.2.3 Oracle Express是成熟的工具 475
23.2.4 可以通過SPL進行擴展 475
23.3 Express在數據倉庫環(huán)境中的角色 475
23.3.1 Express代表一個穩(wěn)定的數據
倉庫快照 475
23.3.2 Express在數據倉庫中的
體系結構 476
23.3.3 與Oracle Warehouse Builder
的集成 477
23.4 Oracle Express服務器 477
23.4.1 概述 477
23.4.2 通信基礎結構 478
23.4.3 存儲過程語言 479
23.5 Express數據模型和對象 479
23.5.1 維 479
23.5.2 變量 479
23.5.3 關系 480
23.5.4 公式 480
23.5.5 值集 480
23.5.6 程序 481
23.6 Oracle Express實例管理器 481
23.7 批處理管理器 483
23.8 Oracle Express管理員(ADMIN) 483
23.8.1 建立新的數據庫 483
23.8.2 操作一個已有的數據庫 485
23.9 把數據加載到Express 486
23.9.1 從平面文件中讀入數據 486
23.9.2 從EIF文件中導入數據 486
23.9.3 從Discoverer文件中導入數據 486
23.9.4 執(zhí)行Express SPL命令 487
23.9.5 從關系表中加載數據 487
23.10 關系型訪問管理器 487
23.10.1 關系型訪問管理員 488
23.10.2 構建模塊 488
23.10.3 運行時模塊 488
23.10.4 查詢統計模塊 489
23.10.5 使用關系型訪問管理員 489
23.11 操作Express數據—前端方案 490
23.12 Oracle Express分析器 490
23.12.1 主窗口工具欄 490
23.12.2 簡報瀏覽器 492
23.12.3 頁視圖 492
23.12.4 數據庫瀏覽器 492
23.13 Express Excel插件 492
23.14 Oracle Express對象 493
23.14.1 OEO綜述 493
23.14.2 OEO對象之旅 494
23.15 當前的Express Web技術 497
23.15.1 Express Web Agent開發(fā)者
工具包 497
23.15.2 Express Web發(fā)布程序 499
23.16 Express應用 500
23.16.1 定制應用 501
23.16.2 Oracle預建立的應用 502
第24章 數據挖掘 506
24.1 什么是數據挖掘 506
24.1.1 發(fā)現 507
24.1.2 關系 509
24.1.3 模式 509
24.2 數據挖掘帶來的收益 511
24.2.1 欺詐檢測 511
24.2.2 投資回報 512
24.2.3 電子化方案的可伸縮性 512
24.3 數據挖掘輔助決策制定過程 513
24.4 數據挖掘技術 513
24.4.1 神經網絡 513
24.4.2 關聯發(fā)現 515
24.4.3 分類 515
24.4.4 聚類 516
24.4.5 序列發(fā)現 516
24.5 數據挖掘方案檢查表 517
24.5.1 對Oracle數據庫的直接訪問 517
24.5.2 可視化分析能力 517
24.5.3 吸收大量數據的能力 518
24.5.4 對數據質量的敏感性 519
24.6 數據挖掘的前景 519
第25章 webhousing 520
25.1 webhousing的原則 520
25.1.1 不同的方法 521
25.1.2 規(guī)劃 522
25.2 硬件 523
25.3 我需要安裝什么呢 525
25.4 我需要什么類型的服務器來運行
所有這些功能 526
25.5 安裝PPES 527
25.6 配置PowerPlay 528
25.6.1 企業(yè)服務器 528
25.6.2 確保數據安全 528
25.6.3 添加用戶 528
25.6.4 為立方體增加安全機制 530
25.6.5 配置PowerPlay企業(yè)服務器 531
25.7 從用戶角度看PowerPlay 533
25.7.1 Upfront 533
25.7.2 PowerPlay Web 534
25.8 總結 539