Oracle Streams 11g數據複製

Oracle Streams 11g數據複製

《Oracle Streams 11g數據複製》是2012年清華大學出版社出版的圖書,作者是(美) Kirtikumar Deshpande。

基本介紹

  • 書名:Oracle Streams 11g數據複製
  • 作者:(美) Kirtikumar Deshpande 
  • ISBN:9787302279686
  • 定價:68元
  • 出版社清華大學出版社 
  • 出版時間:2012-3-5
  • 裝幀:平裝
  • 開本:16
內容簡介,圖書目錄,

內容簡介

本書介紹了如何在分散式計算框架之間實現實時的信息訪問和數據共享,詳細解釋了建立和管理一個統一的企業數據共享基礎設施的方法,以及如何捕獲、傳播和套用資料庫修改、轉換數據和處理數據衝突,包含的主題還有監控、最佳化和調試技術。
當越來越多的業務因為各種原因而使用分散式環境時,對數據複製的需求就會穩步增長。對這種數據的實時訪問已成為在全球市場上競爭的必備條件之一。在這些環境下,全局數據完整性和一致性同等重要。Oracle Streams可以處理這些需求。
Oracle公司在Oracle 9i Database Release 2版本中引入了Streams,作為分散式環境中在多個應用程式和資料庫中進行數據複製和信息共享的旗艦解決方案。Oracle Streams提供了一個精密、靈活並且健壯的基礎設施,可以滿足各種不同的數據複製需求。Oracle Streams相對傳統數據複製解決方案更加靈活的特性,允許用戶選擇單個的可以更快部署並且開銷更少的信息共享解決方案。
Streams是Oracle資料庫的一個整合部分,不需要單獨為其授權或者安裝任何額外的軟體。
Oracle Streams中可用的一些很強大的特性和選項包括:
● 準實時複製
● 數據完整性(遵循事務邊界)
● 自動衝突處理
● 數據轉換
● 從單源向多目標複製
● 點對點複製
● 複製環境的詳細監控
● 擴展的規則管理
● 靈活的配置選項和一些配置方法
在早期的Oracle發布版本中,配置和管理Oracle Streams環境有些複雜。Oracle Database 10g R2中的一些改進使得實現、監控和管理Streams變得很簡單。Oracle Database 11g R2在此基礎上進一步做了改進。隨著核心Streams代碼的提升,複製性能得到大幅提高。同時,管理複雜的Streams環境也變得非常容易。
雖然自Oracle 9i Database Release 2之後Oracle Streams產品就可用,但是一直缺乏全面的文獻資料。對於一個實際的DBA,沒有哪個單一的學習資料能仔細講解配置Streams環境的方法或是監控及故障解決問題。對於架構師,也會因為缺乏類似的確切信息而阻止他們在自己的設計中使用Streams。本書試圖通過解釋產品背後的概念來填補這個空白。從配置到調試Streams環境,本書都將提供實踐建議。正因為如此,本書作為Streams複製的一個參考資料,適用於DBA、開發人員和架構師閱讀。
本書內容安排
本書針對不同類型讀者的需求,從不同的方面介紹Streams。架構師、開發人員和DBA將學習概念並且很好地理解各種Streams組件。同時,DBA還將得益於所有的實用腳本和一步一步的說明。
很少人能夠一次從頭到尾地將一本技術書籍讀完。但是,我強烈要求所有的讀者一開始就閱讀前兩章,從而在概念上很好地理解Streams。然後,可以跳到任何一章去閱讀關於某個特定Streams組件的知識或者學習在Streams中執行某個特定任務的方法。例如,一個實際的DBA要想設定一個有效的Streams環境,他可以直接跳到第8章並且一步一步地按照說明來設定Streams。或者,由於Oracle Enterprise Manager Grid Control 10.2.0.5讓這個任務變得更加容易,DBA可能想要查看第14章。欲了解更多關於套用進程組件知識的讀者可以參閱第6章。所有的讀者都將從第3章詳細了解到Oracle Streams環境中使用規則的方法。
本書共包括14章和5個附錄,內容如下:
第1章:Oracle Streams的概念 本章介紹Oracle Streams複製,討論Streams架構並且簡要解釋它的各個組件。讀者應該閱讀本章以熟悉Oracle Streams的架構和組件。
第2章:使用Oracle Streams 本章討論配置Streams複製的方法以支持複製數據的各個不同需求,另外還討論了使用Streams技術解決其他不一定需要數據複製的業務問題的方法。
第3章:Streams規則和規則集 Oracle Streams使用規則和規則集,這些規則和規則集控制數據捕獲和複製的方法。本章介紹這些規則以及Streams使用它們的方法。當自定義一個涉及數據轉換的Streams環境時,需要理解規則。可以等到有一個有效的Streams環境之後再回頭學習這一章,以熟悉規則和規則集的工作方式。
第4章:捕獲進程 本章詳細討論Streams如何捕獲複製發生的變化、捕獲進程的類型、捕獲進程組件以及捕獲進程的配置、需求和限制,另外還解釋了在不同Streams環境中創建捕獲進程的方法。
第5章:暫存進程與傳播進程 本章介紹佇列及其使用方法以及Streams使用它們傳播所捕獲訊息的過程,另外還介紹傳播的概念以及創建它來支持各種Streams環境的方法。
第6章:套用進程 本章詳細討論Streams將修改套用到目標表的方法以及套用進程的組件、需求和限制,另外還討論了創建套用進程及各種與之相關的在數據套用之前用來處理錯誤、衝突或數據定製的自定義存儲過程的方法。
第7章:邏輯修改記錄 捕獲到的訊息在內部會轉換為邏輯修改記錄(Logical Change Record,LCR),本章詳細介紹了LCR的概念、它們包含的信息以及深入了解這些信息的方法。當自定義Streams以支持業務需求時需要訪問和修改LCR信息,本章通過使用一個可運行的示例來解釋這一點,這個示例展示了操縱LCR內容的方法。
第8章:為數據複製配置Oracle Streams 在討論完首要任務之後,本章詳細討論配置Streams複製的方法。除了討論可以使用的多種不同方法外,還解釋了使用Oracle提供的API來配置各種級別(如資料庫級別、模式級別和表級別)的簡單Streams複製的方法。本章還將討論使用提供的PL/SQL包手動配置Streams複製的方法,以及在各種拓撲下如何配置複雜Streams複製。本章的示例腳本可以用來快速創建一個簡單的Oracle Streams環境。
第9章:數據轉換 本章討論當源表和目標表在定義和結構上不同時,Oracle提供的用來在LCR中轉換內容的存儲過程。另外還使用示例討論了創建自己的數據轉換函式和存儲過程來解決具體業務需求的方法,這些業務需求無法用Oracle提供的存儲過程來解決。
第10章:數據衝突處理 本章討論在Streams環境中可能發生的不同類型的數據衝突,討論避免數據衝突的方法並解釋當衝突無法避免時的處理方法,解釋使用Oracle提供的衝突處理存儲過程來解決衝突的方法。
第11章:管理和監控Streams複製 本章討論Streams管理和任務監控。討論如何啟動和停止Streams進程、如何修改它們的參數及其他屬性,以及監控它們狀態、狀況和性能的方法。另外還解釋了在Streams環境中監控事務的方法,討論當同一個源資料庫存在多個目標時如何分割和合併功能及管理。本章還將展示安裝和使用Streams性能顧問的方法,從而使監控點對點Streams性能更加容易。
第12章:維護和錯誤處理 本章討論Streams維護和調試,包括通過增加新對象到複製中或者刪除已存在的對象或組件來修改已有Streams複製的方法,還將解釋使用Streams組件調試問題以及調試套用進程遇到的複製錯誤的方法,最後討論使用數據比較存儲過程來識別和修正源表和目標表之間的數據匹配錯誤的方法。
第13章:Streams性能考量 本章討論對複製性能造成不好影響的常見原因和問題,討論提高整個Streams性能的各種技術和配置設定。
第14章:OEM Grid Control在Streams複製中的套用 本章討論如何使用OEM Grid Control 10.2.0.5來配置、管理和監控Oracle Streams複製環境。
附錄A:Oracle Streams最佳實踐 本附錄討論Oracle成功實現Oracle Streams複製的最優方法。
附錄B:RAC環境中的Oracle Streams複製 本附錄討論針對Oracle RAC環境的Streams配置的額外細節。
附錄C:Streams健康檢查報告 本附錄討論通過創建和使用Streams健康檢查報告來歸檔、審查和調試Streams環境的方法。
附錄D:Streams複製的數據字典視圖 本附錄提供一個包括Streams組件和進程及其性能信息的數據字典列表和動態性能視圖。
附錄E:參考文獻 本附錄提供了一個本書參考的所有Oracle公司資料的列表。

圖書目錄

第Ⅰ部分 Oracle Streams簡介
第1章 Oracle Streams的概念 3
1.1 Oracle Streams中的信息流 4
1.2 Oracle Streams體系結構概述 5
1.2.1 捕獲組件 5
1.2.2 暫存和傳播組件 7
1.2.3 消費組件 8
1.2.4 佇列 9
1.2.5 Oracle Streams標籤 10
1.2.6 規則和規則集 10
1.2.7 實例化 11
1.2.8 LogMiner數據字典 11
1.2.9 Streams數據字典 12
1.2.10 NOLOGGING操作和
UNRECOVERABLE操作 12
1.2.11 補充日誌 12
1.2.12 邏輯修改記錄 13
1.2.13 表數據的比較 14
1.3 本章小結 14
第2章 使用Oracle Streams 15
2.1 數據複製 16
2.1.1 單向複製 16
2.1.2 雙向複製 17
2.1.3 點對點複製 17
2.1.4 輻射型複製 18
2.1.5 與非Oracle資料庫的複製 21
2.2 數據倉庫載入 21
2.3 數據審計 21
2.4 數據保護 22
2.5 訊息佇列管理 22
2.6 在資料庫升級時減少
停工時間 23
2.7 在進行維護工作時減少停工
時間 23
2.8 本章小結 24
第Ⅱ部分 Oracle Streams的
概念和架構
第3章 Streams規則和規則集 27
3.1 規則 28
3.1.1 評估上下文 28
3.1.2 規則條件 28
3.1.3 操作上下文 29
3.2 規則集 29
3.2.1 正規則集 30
3.2.2 負規則集 31
3.3 創建規則和規則集 33
3.3.1 系統創建的規則和規則集 34
3.3.2 用戶創建的規則和規則集 47
3.3.3 用於刪除不支持LCR的
規則條件 50
3.4 管理規則和規則集的
存儲過程 52
3.5 本章小結 52
第4章 捕獲進程 55
4.1 捕獲規則的類型 56
4.1.1 本地捕獲進程 56
4.1.2 下游捕獲進程 57
4.2 捕獲進程檢查點和系統修改
編號 59
4.2.1 必需的檢查點SCN 60
4.2.2 最大檢查點SCN 60
4.2.3 First SCN 60
4.2.4 Start SCN 61
4.2.5 已捕獲的SCN 61
4.2.6 最近入隊的SCN 62
4.2.7 套用的SCN 62
4.2.8 源重置日誌SCN 62
4.2.9 檢查點保存時間 62
4.3 創建捕獲進程 63
4.3.1 創建本地捕獲進程 63
4.3.2 創建下游捕獲進程 68
4.3.3 創建同步捕獲進程 70
4.3.4 捕獲用戶 72
4.4 捕獲進程組件 72
4.5 捕獲進程參數 73
4.6 未捕獲到的修改 77
4.6.1 捕獲進程未捕獲到的修改 78
4.6.2 同步捕獲進程未捕獲到的
修改 79
4.6.3 檢查不支持對象的方法 79
4.7 NOLOGGING操作 81
4.8 補充日誌 82
4.8.1 補充日誌的用途 82
4.8.2 補充日誌的類型 83
4.8.3 系統創建的補充日誌組 86
4.9 本章小結 87
第5章 暫存進程與傳播進程 89
5.1 佇列模型 90
5.2 佇列類型 90
5.2.1 ANYDATA類型的類型化
佇列 90
5.2.2 緩衝區佇列 90
5.2.3 持久化佇列 91
5.2.4 安全佇列 91
5.2.5 事務佇列 91
5.2.6 非事務佇列 91
5.2.7 提交時佇列 91
5.3 Streams客戶端使用佇列的
方式 92
5.4 創建Streams佇列 92
5.5 傳播 96
5.5.1 佇列-資料庫連結傳播 96
5.5.2 佇列-佇列傳播 96
5.5.3 有向網路 97
5.5.4 創建傳播進程 98
5.5.5 傳播規則集和規則 103
5.5.6 傳播作業和調度計畫 104
5.6 本章小結 108
第6章 套用進程 109
6.1 套用進程概述 110
6.2 套用進程狀態 110
6.3 套用進程組件 110
6.3.1 reader伺服器 111
6.3.2 協調器進程 112
6.3.3 伺服器進程 112
6.4 套用用戶 114
6.5 創建套用進程 114
6.5.1 自動創建套用進程 115
6.5.2 手動創建套用進程 119
6.6 套用進程參數 121
6.7 處理觸發器 125
6.8 處理列差異 127
6.8.1 數據類型不匹配 127
6.8.2 目標表中列的數目不夠 127
6.8.3 目標表中列的數目過多 128
6.8.4 列名不匹配 128
6.8.5 沒有主鍵或唯一鍵 128
6.9 處理事務依賴 129
6.9.1 對象依賴 130
6.9.2 值依賴 130
6.10 套用進程的訊息處理 131
6.10.1 DML處理程式 132
6.10.2 DDL處理程式 137
6.10.3 錯誤處理程式 139
6.10.4 預提交處理程式 142
6.11 不能套用的修改 142
6.12 本章小結 143
第7章 邏輯修改記錄 145
7.1 行LCR 146
7.2 DDL LCR 147
7.3 LCR中的額外特性 148
7.4 訪問LCR內容 149
7.4.1 訪問行LCR內容 152
7.4.2 訪問DDL LCR內容 157
7.5 修改LCR內容 159
7.5.1 修改行LCR內容 159
7.5.2 修改DDL LCR內容 163
7.6 LCR和LOB數據類型 165
7.7 本章小結 166
第Ⅲ部分 Oracle Streams配置
第8章 為數據複製配置
Oracle Streams 171
8.1 Streams配置方法 172
8.2 首要任務 172
8.2.1 準備資料庫 172
8.2.2 創建資料庫之間的
網路連線 176
8.2.3 創建Streams Administrator
賬戶 177
8.2.4 創建資料庫連結 178
8.2.5 創建目錄對象 179
8.3 使用MAINTAIN存儲過程
配置Streams 179
8.3.1 資料庫級別的Streams
複製 180
8.3.2 模式級別的Streams複製 182
8.3.3 表級別的Streams複製 184
8.3.4 表空間級別的Streams
複製 185
8.3.5 使用MAINTAIN存儲過程
配置下游捕獲進程 188
8.3.6 監控MAINTAIN存儲過程
的進度 190
8.3.7 從MAINTAIN存儲過程的
錯誤中恢復 192
8.3.8 MAINTAIN存儲過程的
優勢 194
8.3.9 MAINTAIN存儲過程的
限制 194
8.4 使用自定義腳本配置
Streams 195
8.4.1 含有本地捕獲進程的
單向複製 196
8.4.2 包含下游捕獲進程的
單向複製 202
8.4.3 雙向複製 207
8.4.4 從單個源到多個目標的
複製 211
8.4.5 使用佇列轉發的複製 211
8.4.6 使用套用轉發的複製 212
8.4.7 使用同步捕獲進程的複製 213
8.4.8 輻射型複製 216
8.4.9 點對點複製 218
8.5 本章小結 219
第9章 數據轉換 221
9.1 基於規則的轉換的種類 222
9.1.1 聲明性的基於規則的
轉換 222
9.1.2 自定義的基於規則的
轉換 223
9.2 使用基於規則的轉換的
場合 224
9.3 找到規則名 224
9.4 配置聲明性的基於規則的
轉換 225
9.4.1 ADD_COLUMN存儲過程 225
9.4.2 DELETE_COLUMN存儲
過程 227
9.4.3 KEEP_COLUMNS存儲
過程 228
9.4.4 RENAME_COLUMN存儲
過程 230
9.4.5 RENAME_SCHEMA存儲
過程 231
9.4.6 RENAME_TABLE存儲
過程 232
9.5 基於規則的轉換和DDL
複製 233
9.6 配置自定義的基於規則的
轉換 233
9.6.1 針對DDL LCR的自定義的
基於規則的轉換 234
9.6.2 針對行LCR的自定義的
基於規則的轉換 238
9.7 移除基於規則的轉換 240
9.7.1 移除聲明性的基於規則的
轉換 240
9.7.2 移除自定義的基於規則的
轉換 243
9.8 表子集規則轉換 243
9.9 轉換的執行順序 244
9.10 本章小結 245
第10章 數據衝突處理 247
10.1 衝突類型 248
10.1.1 刪除衝突 248
10.1.2 更新衝突 248
10.1.3 唯一性衝突 248
10.1.4 外鍵衝突 248
10.2 避免衝突的方法 249
10.2.1 避免唯一性衝突 249
10.2.2 避免刪除衝突 251
10.2.3 避免更新衝突 251
10.3 解決衝突 251
10.4 使用預置的更新衝突
處理程式 251
10.4.1 使用列列表(column list) 253
10.4.2 使用解析列 253
10.4.3 建立預置的更新衝突
處理程式 253
10.4.4 列出定義的更新衝突
處理程式 256
10.4.5 修改更新衝突處理程式 256
10.4.6 移除更新衝突處理程式 257
10.5 為非關鍵列停止衝突檢測 258
10.6 自定義衝突處理程式 259
10.7 本章小結 265
第Ⅳ部分 Oracle Streams管理
第11章 管理和監控Streams複製 269
11.1 管理Streams進程 270
11.1.1 管理捕獲進程 270
11.1.2 管理同步捕獲進程 277
11.1.3 管理傳播進程 277
11.1.4 管理套用進程 279
11.2 監控Streams進程 283
11.2.1 監控捕獲進程 284
11.2.2 監控傳播進程和佇列 287
11.2.3 監控套用進程 289
11.3 監控事務 295
11.4 分割和合併:管理和監控 297
11.4.1 自動分割和合併 298
11.4.2 手動分割和合併 300
11.5 Streams Performance Advisor 301
11.6 本章小結 304
第12章 維護和錯誤處理 305
12.1 擴展Streams環境 306
12.1.1 添加對象到已有的
Streams環境中 306
12.1.2 添加資料庫到已有的
Streams環境中 308
12.2 移除Streams配置 311
12.2.1 移除整個Streams配置 311
12.2.2 移除指定的Streams
配置 311
12.3 調試Streams進程 317
12.3.1 調試捕獲進程 317
12.3.2 調試傳播進程 320
12.3.3 調試套用進程 322
12.4 Streams訊息跟蹤 331
12.5 Streams健康檢查報告 334
12.6 數據比較和收斂 335
12.6.1 創建比較 336
12.6.2 運行比較 336
12.6.3 列出比較 337
12.6.4 從本地表向遠程表收斂 337
12.6.5 重新檢查比較 338
12.6.6 清除比較 339
12.6.7 刪除比較 339
12.7 本章小結 339
第13章 Streams性能考量 341
13.1 Streams佇列溢出 342
13.2 套用溢出 343
13.3 處理大事務 343
13.3.1 Streams標籤 345
13.3.2 存儲過程複製 346
13.4 處理長時間運行的事務 346
13.5 日誌挖掘活動 347
13.6 考量捕獲進程 347
13.6.1 並行化 348
13.6.2 檢查點信息 348
13.7 考量傳播進程 349
13.8 考量套用進程 350
13.8.1 調校套用進程參數 350
13.8.2 處理LOB數據類型 351
13.8.3 套用規則集 353
13.8.4 檢測衝突 353
13.9 修復故障 353
13.10 本章小結 354
第14章 OEM Grid Control在Streams
複製中的套用 355
14.1 Streams配置嚮導 356
14.2 創建模式級別的複製 358
14.2.1 第1步:對象選擇 358
14.2.2 第2步:目標選項 358
14.2.3 第3步:複製選項 359
14.2.4 第4步:調度作業 360
14.2.5 第5步:檢查 361
14.3 監控和管理Streams複製
環境 362
14.3.1 監控捕獲進程 363
14.3.2 監控傳播進程 364
14.3.3 監控套用進程 365
14.3.4 顯示事務細節:
LogMiner會話 367
14.3.5 顯示Streams組件概要
信息 368
14.3.6 顯示Streams路徑和
性能分析數據 369
14.3.7 管理Streams進程 371
14.3.8 管理套用錯誤 373
14.4 Streams指標和告警 374
14.5 本章小結 376
第Ⅴ部分 附 錄
附錄A Oracle Streams最佳實踐 379
附錄B RAC環境中的Oracle Streams
複製 387
附錄C Streams健康檢查報告 393
附錄D Streams複製的數據字典視圖 399
附錄E 參考文獻 407

相關詞條

熱門詞條

聯絡我們