WebSphere Replication Server 簡述
WebSphere Replication Server 是 IBM 信息集成產品家族中的重要產品,它廣泛應用在信息集成的多個領域中:比如跨地域數據采集和交換,企業內部數據交換平台,統一客戶信息等業務視圖,實現查詢系統與業務系統分離,業務系統高效鏡象備份,擴展商業智能應用,以及主機 AS400 的與開放平台數據交換等。
WebSphere Replication Server 能夠支持兩種數據復制:SQL 復制以及 Q 復制。其中,SQL 復制技術能在異構的主流關系型數據庫之間進行數據復制,Q 復制結合數據日志捕獲以及 WebSphere MQ 消息隊列傳輸技術提供更高吞吐量和低延時的數據復制。以上兩種復制技術都能支持多種數據同步拓撲結構,提供數據同步監控、數據一致性校驗和容錯機制。
DB2 與 Microsoft SQL Server 2000 之間的 SQL 數據復制
配置需求
要配置 DB2 與 Microsoft SQL Server 2000 之間的 SQL 數據復制,需要安裝好以下軟件產品和組件:
DB2 數據庫;
WebSphere Replication Server;
MS SQL Server 2000,如果數據庫在其它服務器,則本機需要安裝客戶端。
實現步驟
第 1 步是配置 MS SQL Server。本例中選用以下配置選項:
配置 MS SQL Server 的身份驗證方式時,選擇“SQL Server 和 Windows 身份驗證”。配置完成後,使用 MS SQL Server 的“查詢分析器”驗證用戶登錄成功。
注冊 MS SQL Server 數據庫為 ODBC 數據源。其中,配置“系統DSN”為實際的 MS SQL Server 服務器名稱。本例中使用“WIN2K3”。
第 2 步是配置 DB2 聯邦數據庫。配置好 MS SQL Server 數據庫之後,需要使用 WebSphere Replication Server 提供的對 MS SQL Server 數據庫的聯邦功能,映射需要復制的源表(存在於 MS SQL Server 數據庫中)到 DB2 數據庫的 Nickname,以支持數據復制。這需要完成一下四個步驟。
創建封裝器(Wrapper):執行命令 create wrapper MSSQLODBC3,其中,MSSQLODBC3是DB2定義的對應MS SQL Server數據庫的缺省封裝器名稱;
創建服務器(Server):執行命令 CREATE SERVER SSRCTEST TYPE MSSQLSERVER VERSION '2000' WRAPPER MSSQLODBC3 OPTIONS( ADD NODE 'WIN2K3', DBNAME 'ssrctest')。注:本例中使用 SSRCTEST 作為 Server Name,它應該對應於 MS SQL Server 的一個具體數據庫名稱;版本(VERSION)為 MS SQL Server 數據庫的版本屬性;OPTIONS 參數中,節點的名稱應該對應於已經設置為 ODBC 數據源的 MS SQL Server 節點名;OPTIONS 參數中,DBNAME 為實際需要用聯邦功能訪問的數據庫名稱。
創建 User Mapping:執行下面的命令以創建需要的用戶映射,CREATE USER MAPPING FOR DB2ADMIN SERVER SSRCTEST OPTIONS ( ADD REMOTE_AUTHID 'adminstrator', ADD REMOTE_PASSWord '*****') 。注:本例中使用 DB2 數據庫管理員用戶 DB2ADMIN。
創建 Nickname:執行命令 CREATE NICKNAME ADMINISTRATOR.TRC1 FOR SSRCTEST."dbo"."trc1";。注:本例中使用 dbo.trc1 作為復制源。
第 3 步是配置SQL數據復制。配置聯邦數據庫完成後,就可以開始配置實際的復制功能,這需要啟動 DB2 的復制中心並執行如下的步驟。
創建 Capture 控制器,從DB2復制中心選擇用定制方式“創建 Capture 控制表”:
圖 1. 創建 Capture 控制表
在“創建 Capture 控制表”窗口中,選擇“使用此 DB2 聯合服務器來捕獲對非 DB2 服務器的更改”選擇項,並在“非 DB2 服務器”選擇框中選擇之前創建的聯邦服務器。
圖 2. 創建 Capture 控制表的過程
根據窗口中的選項選擇完成後,點選“確定”創建 Capture 控制表。
添加 Nickname:
按照上面的描述創建好 Capture 控制表後,在復制中心窗口中即可看到該控制服務器,我們將在該 Capture 控制服務器上添加 Nickname。
圖 3. 添加 Nickname
按照上圖選擇,在彈出窗口中配置好需要進行復制的 Nickname。
圖 4. 配置好需要進行復制的 Nickname
本例中使用 ADMINISTRATOR.TRC1。
創建 Apply 控制器
和創建 Capture 控制表類似,在復制中心選擇使用定制方式創建 Apply 控制表。
圖 5. 創建 Apply 控制表
按上圖選擇,會彈出“創建 Apply 控制表”窗口。
圖 6. 選擇服務器
從窗口中選擇需要創建 Apply 控制表的數據庫服務器,之後按照提示操作即可。
創建預訂集(subscription sets)
在 Apply 控制服務器中選擇創建預訂集,則彈出創建窗口。首先,我們需要定義 Capture 控制服務器、目標服務器、Apply 控制服務器等,如下圖:
圖 7. 創建預訂集
在“源到目標映射”頁面,完成對於數據源表和目標表的配置。
圖 8. 添加源
另外,缺省的復制時間間隔為 20 分鐘,如需配置,可在“時間表”頁面完成。
圖 9. 完成預訂集的創建
本例中,配置 1 分鐘為復制的時間間隔。
完成以上的操作後,DB2 和 MS SQL Server 之間的復制配置就已經完成。本例中,配置了從 MS SQL Server 到 DB2 的數據復制。要啟用或者測試該復制功能,可按照如下的步驟啟動相應的服務器,並監控狀態和復制的工作。
第 4 步是測試 DB2 和 MS SQL Server 之間的 SQL 數據復制。
啟動 Capture 服務器
a) 執行如下命令以啟動 Capture 服務器:asncap capture_server=TESTRC2。注:也可以通過復制中心來啟動 Capture 服務器。命令中的“TESTRC2”是 Capture 服務器名稱,本例中使用 MS SQL Server 聯邦數據庫來做 Capture 服務器。
b) 檢查 Capture 服務器狀態,可以通過復制中心來檢查 Capture 服務器的狀態。
圖 10. 檢查 Capture 服務器狀態
啟動 Apply 服務器
a) 執行如下命令以啟動 Apply 服務器:asnapply CONTROL_SERVER=TESTRC2 APPLY_QUAL=TESTRC2。注:也可以通過復制中心來啟動 Apply 服務器。本例中使用 TESTRC2 來做控制服務器(CONTROL_SERVER),APPLY_QUAL 參數指配置預訂集時使用的模式。
圖 11. 檢查 Apply 服務器狀態
確認復制功能
向源表中插入數據,按照配置“預訂集”(subscription sets)時配置的時間間隔,確認數據已經被復制到目標表中。
結論
隨著 DB2 功能不斷得到完善和加強,越來越多的客戶選擇使用 DB2 數據庫來存儲其關鍵的業務數據。為了實現組織內部關鍵數據的整合,需要和許多現有的數據庫系統之間共享、同步數據,實現數據整合、業務分離等功能,以支持客戶的業務需求。
本文描述了 DB2 數據庫和 MS SQL Server 數據庫之間數據復制的配置過程。從本文的描述不難看出,基於 DB2 和 WebSphere Replication Server 提供的強大復制功能,用戶可以方便的配置數據復制,並可根據用戶的實際需求實現靈活的定制。這將大大方便用戶,便於客戶實現業務要求。