程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> IBM DB2 Everyplace 同步服務器的三種典型管理方式

IBM DB2 Everyplace 同步服務器的三種典型管理方式

編輯:DB2教程

簡介

本文將描述 DB2 Everyplace 同步服務器提供給用戶的三種典型管理方式,同時與大家分享作者在項目實踐中綜合應用這三種方式的經驗。

本文需要您事先安裝下列軟件與組件:
Windows 2K SP3 (本文的測試環境為英文版)
DB2 Universal Database Enterprise Edition V7.2 + FIXPACK9
WebSphere Application Server Advanced Enterprise Edition V4.0.2
DB2 Everyplace Enterprise Edition V8.1+FIXPACK2

上述軟件與組件同時也是本文的測試環境,其過程將在下文中描述。

本文旨在幫助讀者:

了解 DB2 Everyplace 同步服務器的基本工作原理

通過使用移動設備管理中心配置 DB2 Everyplace 同步服務器

通過使用命令行工具執行 DB2 Everyplace 同步服務器的管理任務

通過 XML 腳本編制工具實現對 DB2 Everyplace 同步服務器的自動化管理

測試環境的安裝配置

下面是本文的測試環境配置概述:(指定某台服務器作為同步服務器)

安裝 Windows 2K SP3

安裝 DB2 Universal Database Enterprise Edition V7.2 + FIXPACK9

安裝 WebSphere Application Server Advanced Enterprise Edition V4.0.2

安裝 DB2 Everyplace Enterprise Edition V8.1+FIXPACK2

注意點:

在步驟 2 中明確只能安裝 DB2 UDB V7.2, 而不能是 DB2 UDB V8.1。DB2 Everyplace Enterprise Edition V8.1 對 DB2 UDB V8.1是不支持的。

在步驟3中可以將 WebSphere Application Server Advanced Edition 替換為 WebSphere Application Server Advanced Single Edition 或者是 WebSphere Application Server Enterprise Edition。同時,據產品文檔描述,DB2 Everyplace Enterprise Edition V8.1 中對 MIDP 設備的支持中還可以采用 TOMCAT 作為WebSphere Application Server 的替代者,作者沒有對這點進行測試,感興趣的讀者請查閱相關產品文檔。

在步驟 4 結束後,配置結束以後(配置具體過程可參看參考資料1)。可通過訪問 http://ServerIP:PortNo/db2e/db2erdb 和 http://ServerIP:PortNo/db2e/db2eFilter 來驗證安裝配置是否成功。

DB2 Everyplace 同步服務器的基本工作原理

簡述:

DB2 Everyplace 是 IBM 普及計算技術解決方案的重要組成部分, 通過 DB2 Everyplace的支持, 一些移動性大的專業人員(如銷售人員, 審計員, 技術支持人員, 醫生)就能夠在辦公室以外的地方獲取他們所需要的重要數據。

DB2 Everyplace 解決方案具有下列關鍵功能部件和組件:

DB2 Everyplace 同步服務器,本文將要重點討論的對象

DB2 Everyplace 移動數據庫,此數據庫駐留在各種移動設備上,將在後續文章中詳細討論

DB2 Everyplace 同步客戶端,作為同步引擎支持各種移動設備並與移動數據庫配合工作

基本工作原理:

DB2 Everyplace 同步服務器是一個客戶機/服務器程序, 它管理源數據庫和目標數據庫之間的雙向數據同步化。作為同步服務器,它充當了移動設備上的同步客戶機軟件與源服務器上的 "DB2 UDB" 或 JDBC 數據庫之間的橋梁。

在實際應用中,我們采用 DB2 Everyplace 同步服務器和 DB2 Everyplace 同步客戶端配合, 實現在 DB2 Everyplace 移動設備與企業數據源之間對數據和應用程序進行同步。

同步過程可以是單向的,也可以是雙向的,對於典型的雙向同步過程,主要分兩個步驟: 1)移動用戶提交他們對源數據的本地副本所作的更改。
2)用戶接受自從上次同步以來對駐留在企業服務器上的源數據所作的所有修改。

這兩個步驟過程合稱為同步會話

下圖顯示了移動客戶端,同步服務器和數據源之間的相互關系:

IBM DB2 Everyplace 同步服務器的三種典型管理方式

使用移動設備管理中心管理 DB2 Everyplace 同步服務器

" 移動設備管理中心" (Mobile Device Administration Center, MDAC)是用於管理同步服務器各個功能模塊的強大圖形工具, 它允許用戶定義用戶組要訪問的數據和文件的子集。 每當用戶請求數據同步化時, 同步服務器就會訪問此管理信息。

如何啟動移動設備管理中心

如下圖所示,用戶可以通過選擇 Start ->Programs ->IBM DB2 Everyplace ->Start Mobile Device Administration Center 來啟動移動設備管理中心

IBM DB2 Everyplace 同步服務器的三種典型管理方式

圖片看不清楚?請點擊這裡查看原圖(大圖)。

在移動設備管理中,該產品提供了各種同步對象,用戶可以通過對這些同步對象的配置來完成對同步服務器的配置。

同步對象包含了同步過程中各方面的信息,在 DB2 Everyplace Enterprise Edition V8.1 中,產品提供了六種類型的同步對象:

組:具有類似移動數據同步化需求的用戶組, 對每個組定義同步特征。

用戶:一個用戶, 使用 DB2 Everyplace 同步服務器來對源與目標之間的數據執行同步。為一個組指定一個用戶,以提供對該組的預定集中定義的預定的訪問。

服務器:在主機上運行並且偵聽端口的 DB2 Everyplace 同步服務器的實例,它在目標與鏡像數據庫之間同步數據,同時也可以配置服務器以在鏡像數據庫與源數據庫之間復制數據。

預訂: 一個規范,說明要將源數據庫或服務器中的哪些信息復制至目標數據庫。

預訂集:預訂集合,要為組成員提供對預訂中定義的數據和文件的訪問,應該將預訂收集到一起,放在稱為預訂集的容器中,然後將此容器對象指定給組。

在同步期間,如果客戶機未能成功地對預訂進行同步,它就跳過同一預訂集中的其余預訂,並繼續處理下一個預訂集。

適配器: 適配器用來與同步服務器同步及通信,其包括了一組適配器,以便對文件,DB2的關系數據,JDBC 的關系數據,遠程查詢和存儲過程功能進行同步。

日志:在實現移動數據同步化之後,可以使用寫入日志中的消息來監視所有同步問題。

下圖是移動設備控制中心的主控制界面:

IBM DB2 Everyplace 同步服務器的三種典型管理方式

圖片看不清楚?請點擊這裡查看原圖(大圖)。

控制數據庫:

為了便於讀者了解 DB2 Everyplace 同步服務器的實際控制過程,這裡簡單描述一下 DB2 Everyplace 同步服務器的控制中樞 -- 控制數據庫。

當我們創建,編輯,刪除同步對象時,移動設備管理中心會將管理信息的所有變化記錄在同步服務器所在系統上的控制數據庫中。此數據庫的名稱是 DSYCTLDB, 這是一個保留名稱, 我們在使用中不能重命名該數據庫或是對系統中的任何其它數據庫使用名稱 DSYCTLDB。

通過下圖,讀者可以對該控制數據庫有些直觀的認識:

IBM DB2 Everyplace 同步服務器的三種典型管理方式

圖片看不清楚?請點擊這裡查看原圖(大圖)。

該控制數據庫是在安裝時創建,它協助同步服務器認證用戶,並獲取預訂信息以確定要對同步請求復制的內容。讀者如果想進一步了解控制數據庫的相關消息,可查閱相關產品文檔。

我們可以通過移動設備管理中心來創建,編輯,刪除同步對象,在項目實踐中我們最需要精心設計的是對預訂的配置,而我們采用自定義的適配器的機會較少,這裡就不詳細講述。 這裡主要詳細描述對最常用的 JDBC 預訂的配置過程。

使用 "創建JDBC預訂" 筆記本來創建 JDBC 表預訂

您所創建的每個表預訂可以引用一個或是多個表

要創建 JDBC 表預訂:
1. 打開"創建 JDBC 預訂"筆記本
2. 標識預訂
3. 指定加密級別
4. 指定源數據庫驅動程序和 URL
5. 指定鏡像數據庫驅動程序和 URL
6. 為預訂指定源表,目標表和訪問特權
7. 指定如何過濾源表中的數據
8. 將預訂集指定給 JDBC 預訂
9. 單擊確定

標識 JDBC 預訂:

IBM DB2 Everyplace 同步服務器的三種典型管理方式

圖片看不清楚?請點擊這裡查看原圖(大圖)。

在 "標識" 頁上, 填寫下列字段:
名稱:為預訂輸入一個 1 至 18 個字符的描述性的唯一名稱。
描述:可選: 輸入最多 128 個字符的文本描述此預訂。
同時,我們還可以選擇數據傳輸時的加密級別,有三種選擇:無,限制 (56 位數據加密標准),強(128 位數據加密標准),具體情況可進一步查閱相關文檔。
指定源數據庫驅動程序和 URL
必須指定源和鏡像數據庫
在該頁中, 需要指定下列信息:
數據庫 URL
驅動程序
用戶標識
密碼
驗證密碼
在全部結束之後,請單擊 測試連接來驗證源數據庫設置

IBM DB2 Everyplace 同步服務器的三種典型管理方式

圖片看不清楚?請點擊這裡查看原圖(大圖)。

采用相同的方法,我們需要設置好鏡像數據庫的相關參數。

為預訂指定源表,目標表和特權

我們必須對每個 JDBC 預訂至少定義一個表。如果為預訂定義了多個表,則這些表將按照我們創建預訂時添加的次序來進行同步。 "定義復制預訂" 窗口上的表列表顯示了此次序。

這裡有個限制:一定不能在兩個不同的預訂中指定相同的源表和目標表。如果要創建兩個復制同一個源表的預訂,請使用不同的目標表。

要將表添加至預訂:
1. 在 "JDBC 預訂" 筆記本的 "標識" 頁上,單擊定義預訂,"定義復制預訂" 窗口打開。
2. 在"定義復制預訂" 窗口中,單擊添加. "添加表"窗口打開。
3. 在"添加表"窗口中,使用表列表來選擇要添加到此預訂中的復制源。
4. 在目標模式字段中,指定表在移動設備將使用的模式。如果不指定模式,則在缺省情況下系統將使用源表的模式。
5. 在目標表字段中,指定表在移動設備上的名稱。如果不指定名稱,在缺省情況下系統將使用源表名。
6. 可選,選擇對設備加密復選框。這將對移動設備數據庫啟用加密 (只有在 WinCE,Win32 和 PalmOS 客戶機平台上加密才可用)
7. 可選,選擇使用在所選的 DB2 源中定義的約束復選框。 這使所選的 DB2 源表中的約束可以用於目標表。
8. 可選,選擇使用在所選的 DB2 源中定義的索引復選框。這使所選的 DB2 源表中的索引可以用於目標表。
9. 單擊添加將復制源添加到預訂中,單擊關閉以關閉 "添加表" 窗口。

IBM DB2 Everyplace 同步服務器的三種典型管理方式

圖片看不清楚?請點擊這裡查看原圖(大圖)。

上圖為添加表的應用窗口。

在實際的項目實踐中, 我們可能還需要使用 過濾數據的高級功能,這個配置較為復雜, 將在其它文章中專門講述。

對同步請求進行批處理

從改進性能的角度考慮,同步服務器不會立即把從同步請求接受到的更改復制至源,反之亦然。復制調用由下列一項控制:

按固定的時間周期,對同步請求進行批處理

下圖為固定的時間周期的配置界面:

IBM DB2 Everyplace 同步服務器的三種典型管理方式

要對同步請求進行批處理:
1. 確保 "創建 JDBC 預訂" 筆記本的 "標識" 頁上出現源和鏡像數據庫。 然後單擊定義預訂. "定義復制預訂" 窗口打開。
2. 單擊定時. "預訂定時" 窗口打開。
3. 在批處理窗口字段中,指定想要同步服務器在復制周期之間等待的秒數。 缺省設置是3600秒,在程序調試的過程當中建議使用 120 秒。
4. 單擊確定。

對同一鏡像數據庫定義的所有預訂共享批處理參數的相同值。所作的任何修改都會直接影響到對鏡像數據庫定義的所有預訂。

將預訂配置為在我們發出特殊命令的時候按需執行復制

按需復制功能可以使用戶隨時請求復制,這是將復制設置為根據常規時間間隔自動運行的備用方法。

當同步服務器 Servlet 啟動時,初始復制照常發生。可以在命令行環境下使用 dsyreplicate命令請求後續復制。操作步驟如下:
1.打開 DB2 命令窗口
2.切換至 DB2 Everyplace 安裝目錄下的 Server\\Bin 子目錄
3.發出 dsyreplicate 命令請求復制,dsyreplicate [-timeout timeout] mirror_database_name 其中,timeout 指定 dsyreplicate 等待同步服務器停止所有同步活動的最大時間量(以秒計算)。它指定的並不是復制的時間限制。復制本身沒有時間限制,即數據越多,執行復制的時間越長。
4.關閉 DB2 命令窗口

將預訂集指定給 JDBC 預訂

在定義預訂之後,必須指定哪些預訂集使用它。在將預訂與預訂集相關聯的時候,可將該預訂集指定給組,以供組成員訪問在預訂集引用的預訂中定義的數據。

一個預訂可供數目不受限制的預訂集使用。

要指定使用此預訂的預訂集:
1. 轉至 "創建 JDBC 預訂" 筆記本的" 預訂集" 頁
2. 在可用的預訂集列表中,選擇想要讓預訂與之相關聯的預訂集。如果沒有任何預訂集出現在可用的預訂集列表中,則單擊創建來創建預訂集。

移動設備控制中心(MDAC)為用戶提供了一個強大的圖形工具來配置與同步過程相關的各種信息,它將在後台直接操作我們的控制數據庫DSYCTLDB,所以它能夠提供的功能集在三種管理方式中也是最多的。

使用命令行工具執行DB2 Everyplace同步服務器管理任務

這種管理方式是通過在命令行方式下調用一些管理腳本來執行DB2 Everyplace 同步服務器管理任務。目前該產品所提供的管理腳本還無法涵蓋所有的管理任務,但是在執行某些特殊管理任務的時候,這些管理腳本起到了不可替代的作用。

所有管理腳本文件都存放在 DB2 Everyplace 安裝目錄下的 Server\\Bin 子目錄,下面是其中一部分最常用的命令,感興趣的讀者可以通過腳本自帶的幫助信息了解每個管理腳本的執行方式。

dsyctldb.bat 重建同步服務器控制數據庫並恢復默認值

如本文前面所述,控制數據庫 DSYCTLDB 是 DB2 Everyplace 同步服務器的控制中樞。在實際應用中,我們有時可能需要重建控制數據庫或是恢復其默認值。 該腳本通過執行一預定義 SQL 配置文件,將在同步服務器所在系統中的 DB2 數據庫實例中重新創建控制數據庫。

dsyversion.bat 返回當前同步服務器的版本號

在作者的項目實踐中,曾經碰到過由於 DB2 Everyplace 同步服務器和 DB2 Everyplace 同步客戶端的版本號不一致從而導致同步失敗的情形。該腳本可以方便的幫助我們得到我們所采用的 DB2 Everyplace 同步服務器的版本號。

dsysync.bat 啟動同步服務器

在實際項目實踐中,用戶通常需要手動的重起同步服務器。

比如,我們在移動設備管理中心中需要對一個預訂進行修改或是新建一個預訂時,需要先將當前服務器停下來。在修改完畢之後,我們即常通過執行該管理腳本來重起同步服務器。

dsysyncstop.bat 停止同步服務器

當我們需要停止同步服務器的時候,請不要直接將後台窗口關掉,這可能會導致意想不到的錯誤。請通過執行該命令腳本來停止同步服務器。

dsyadminXML.bat 實現同步服務器控制數據庫信息和 XML 腳本文件的互交換

該命令腳本提供了一個強大的功能。借助 "XML腳本編制" 工具,我們可以將 DB2 Everyplace 同步服務器的所有控制信息從控制數據庫導出到 XML 腳本文件中,並為進行批量處理或自動化而對其進行編輯。 編輯好後,可以將最新的XML 腳本文件重新導入控制數據庫,從而實現控制信息的批量更新。這種方式將作為 DB2 Everyplace 同步服務器的第三種重要的管理方式在下個部分中詳細介紹。

其它命令請至 Server\\Bin 子目錄下調用。

通過 XML 腳本編制工具管理 DB2 Everyplace 同步服務器

在"移動設備管理中心"中,通過一組同步對象來管理同步過程。因此當我們創建,編輯和刪除同步對象時,"移動設備管理中心" 會將這些管理信息記錄在控制數據庫(DSYCTLDB)中。

通過采用 "XML 腳本編制工具",我們可以將控制信息從控制數據庫導出到 XML 腳本文件中,並為進行批量處理或自動化而對其進行編輯。例如,在"移動設備管理中心"中,只能每次將一個用戶添加到組。如果有大量用戶,則采用"移動設備管理中心"執行該任務工作量會非常大。借助"XML 腳本編制工具",可以一次將許多用戶添加到組中。我們還可以使用該工具方便地將數據從一台服務器復制或移動到若干台其它服務器中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved