国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

DB2與Oracle數據庫之間的遠程復制

2024-08-29 13:34:30
字體:
來源:轉載
供稿:網友
    一、背景 DB2 聯合數據庫是分布式數據庫治理的非凡形式。在聯合數據庫系統中,可以通過一個 SQL 命令來發出對多個數據源的命令請求。 DB2 與非 DB2 數據庫之間進行復制之前,首先需要保證非 DB2 數據源可以被 DB2 ESE Version 8 federated database訪問。對于DB2 Replication Version 8 所需的聯合數據庫功能可以在現有發布的 DB2 ESE Version 8 和 DB2 Connect EnterPRise Edition Version 8 中提供。   "SQL復制"又稱為"DB2復制",是為 DB2 開發的兩種數據復制類型中的一種,它是通過 SQL 進行的復制。在這里簡單提一下,DB2 復制中的另一種"Q復制"是通過 Websphere MQ 消息隊列進行的。在進行 SQL 復制時,Capture 程序讀取 DB2 恢復日志以獲取對指定源表的更改。該程序將更改保存到傳輸表格中,也稱作變化數據表(changed data table),Apply 程序并行讀取更改并應用于目標事務,見圖1。
DB2與Oracle數據庫之間的遠程復制(圖一)
圖1:SQL復制的結構
WebSphere II 全球信息集成復制,通過不同數據庫之間的復制,有效的利用了數據資源,為提高效率提供了良好的平臺。 DB2 與非 DB2 數據庫之間的復制需要用到 WebSphere II。本文力爭通過復制實例讓讀者對不同數據庫之間的復制有一個整體的概念。 二、動機 商業上出于很多原因使用復制,可以歸納為: 分散:把數據分散到各個位置; 整合:把其他位置的數據聯合起來; 交換:與其他位置進行雙向的數據交換; 靈活應用:對上面提到的方式進行一些改變或者結合。 聯合 (Federated) 數據庫系統的誕生,利用了現有的數據資源,把不同商業數據庫軟件的數據整合到一起,很大程度的提高了數據利用率。聯合數據庫可以用一個SQL語句對分布在不同地點的多種數據源發出請求。聯合數據庫系統可以把本地表和遠程數據源聯接起來,就像數據都在本地一樣,并且可以通過對數據源進行分布請求來提高數據源處理能力,還可以通過在聯合服務器處理部分分布請求來補充數據源的 SQL 限制。 聯合數據庫具有兩個與其他應用服務器不同的特點: 聯合服務器可以被配置為接收全部或接收部分針對數據源的請求。聯合服務器把這些請求分散到數據源。 與其他應用服務器一樣,一個聯合服務器用 DRDA 通信協議(例如 SNA 和 TCP/ip)與 DB2 家族實例通信。然而,與其他應用服務器不同的是,與非 DB2 家族實例通信時用其他協議。 圖2描述了聯合數據庫系統的設置流程
DB2與Oracle數據庫之間的遠程復制(圖二)
圖2:聯合數據庫系統的設置流程
WebSphere II 包括兩種包裝器(Wrapper),一種為關系型包裝器,負責DB2 UDB, Informix, Oracle, Microsoft SQL Server, Sybase, ODBC, OLE DB 等數據的復制。另一種為非關系型包裝器,負責 Flatfile, Excel, xml 等非關系型數據的復制。 包裝器定義了一個負責本地數據庫與遠程數據庫通信的庫。包裝器執行很多任務,比如:它可以連接到數據源,包裝器應用了數據源的標準連接API。它還可以給數據源提交請求。聯合數據庫系統可以操作遠程聯合系統的表。遠程表在本地聯合數據庫中虛擬存在,客戶應用程序可以操作這些虛擬表,但是它們真正存在于遠端數據庫中。每個遠程虛擬數據庫,把聯合數據庫當作數據庫客戶端,他們只對數據庫客戶端的請求有回應。因此聯合數據庫需要下載各種遠程數據庫的客戶端。 一個聯合系統的構造,需要一個作為聯合服務器的 DB2 實例,一個作為聯合數據庫的數據庫,一個或多個數據源,和可以存取數據庫和數據源的客戶(用戶和應用)。假如要完成遠程不同數據庫之間的復制,還需要應用DB2的數據復制功能。 IBM DB2 復制(在一些平臺上被稱為數據傳播)是一個從一個位置到另一個位置復制 DB2 和/或其他數據庫廠商數據的強大的,靈活的工具。IBM的復制支持數據轉換,數據連接和過濾數據。可以在不同的平臺之間搬運數據,也可以把數據分散到不同的地點或從分散的地方把數據聚合到一個地方。可以在不同的系統之間交換數據。 IBM復制由四個主要部分組成:治理 (Administrator),Capture,Apply,警報監視器 (Alert Monitor)。 治理的部分主要通過復制中心的圖形界面來實現。通過復制中心可以定義復制源,定義從數據源到目標數據的地圖。它也用來治理和監控本地和遠程的 Capture 和 Apply 進程。從圖3中可以看出復制中心圖形界面對其他幾個部分的支持關系。
DB2與Oracle數據庫之間的遠程復制(圖三)
圖3:復制中心的應用
在源數據服務器上運行的 Capture 程序可以獲取 DB2 源數據表中的變化。DB2 的源數據服務器可以為 DB2 在 z/os, os/390 上的版本 6,7和8,也可以是 iseries 在 os/400 V5R2,或 DB2 在 Windows, Unix 系統中的版本 8。當定義數據源的時候會自動生成相應的觸發器 (Triggers),可以用來捕捉數據源的變化。要復制的數據可以在 Capture 進程中通過選擇列來進行過濾。被捕捉的更改信息首先存放到本地的源數據所在的數據庫的表中并且當更改應用到目標數據中之后會自動刪除。 當對源表進行改動時,DB2 把相關的記錄寫入日志。這些日志服務于數據庫發現和復制。Capture 程序通過數據庫自動連接并獲取日志記錄。每個源表都有相應的 CD (change data) 表來獲取數據的變化。當定義一個復制數據源時,復制中心自動生成 CD 表。 對于 Apply 部分,捕捉的改變通過 Apply 程序應用到目標表中。Apply 程序可以在任何服務器上運行并且必須對所用到的源服務器和目標服務器都有連通性。數據可以通過列,行進行過濾,可以進行合并(例如通過視圖),也可以在 Apply 過程中通過 SQL 表達式進行傳送。DB2 與其他相關的數據間進行復制的時候,必須通過聯合數據庫系統來進行昵稱的創建。在本地機器上需要安裝關系型包裝器和非關系型包裝器。對于本例中db2<->ORACLE之間的復制,需要安裝關系型包裝器。見圖4。
DB2與Oracle數據庫之間的遠程復制(圖四)
圖4:進行遠程復制關系圖
報警監視器用來進行對Capture和Apply部分的錯誤監控。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤壁市| 隆安县| 和顺县| 屯留县| 石楼县| 松滋市| 蒙阴县| 松原市| 嘉善县| 南陵县| 建宁县| 遵义市| 乌拉特中旗| 定远县| 罗定市| 色达县| 利津县| 永城市| 博爱县| 海伦市| 广平县| 英山县| 镇赉县| 肥城市| 杭锦旗| 信阳市| 东莞市| 丰原市| 永清县| 宁国市| 丰顺县| 唐海县| 静海县| 桃园县| 洛扎县| 驻马店市| 孝义市| 建德市| 黎平县| 鹰潭市| 南溪县|