欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
DB2 遠程 Q 復制實(shí)踐



Q復制是DB2復制技術(shù)中較新的一種技術(shù),通過(guò)將Websphere MQ引進(jìn)到復制體系結構中,可以使得復制更加可靠、穩定和快速。本文將通過(guò)一個(gè)完整的例子來(lái)說(shuō)明如何搭建基本環(huán)境,以及如何進(jìn)行操作,從而實(shí)現遠程Q復制。

簡(jiǎn)介

本文將大概講述SQL Replication,然后引出Q Replication的意義。本文檔通過(guò)位于兩臺不同主機上的數據庫間的單向復制來(lái)展現遠程Q復制的使用。除了說(shuō)明操作步驟以外,本文檔同時(shí)也對相關(guān)的關(guān)鍵概念,一些常見(jiàn)的錯誤以及相關(guān)的信息做出了相應解釋。

在實(shí)際操作之前,讀者應該具有DB2數據庫的相關(guān)管理操作的基本概念和基礎知識,同樣也應該對Websphere Information Integrator和Websphere MQ有相關(guān)了解。如果讀者原來(lái)在一個(gè)機器上做過(guò)DB2復制相關(guān)的練習,例如IBM提供的T3練習,將對本文的學(xué)習很有幫助。

本文檔主要分為三個(gè)大部分:第一個(gè)部分是配置和編目遠程數據庫,第二個(gè)部分是配置Websphere MQ的相關(guān)對象,第三個(gè)部分是通過(guò)Replication Center來(lái)建立起最終的復制環(huán)境。對于每一個(gè)部分,都包括操作步驟,相關(guān)問(wèn)題和解決辦法,以及一些相關(guān)的提示信息。





回頁(yè)首


前提條件

1. 平臺的選擇

考慮到大部分讀者可能更容易獲得Windows操作系統環(huán)境,所以,本文檔的實(shí)現,源數據庫和目標數據庫是分別在兩個(gè)Windows操作系統上。但是,實(shí)際上如果換成其他操作系統平臺,如Unix/Linux,所有的操作步驟將是大同小異。

2. 軟件的安裝

讀者需要安裝好DB2,Websphere MQ。依據相關(guān)安裝文檔執行即可。

3. 本文的相關(guān)約定

為了便于讀者學(xué)習和實(shí)踐本文,下面給出了筆者在實(shí)際操作過(guò)程中所建立起來(lái)的環(huán)境的具體信息,讀者當然也可以對自己的相關(guān)機器和對象指定其他的名稱(chēng)。在本文中,所使用的對象信息即如下所述(主要包括主機的設置,DB2的設置,以及Websphere MQ的設置)。

4. 主機和DB2的相關(guān)設置信息



注意: 在使用復制功能之前,數據庫ITARGET和SAMPLE都應該將日志模式設置為archive logging模式(歸檔日志模式)。

5. Websphere MQ的相關(guān)配置信息



6. Q復制的配置信息



注意: 1. 上面的Replication q map name可以由用戶(hù)自行定義,一般可以按照復制的功能特點(diǎn)來(lái)進(jìn)行命名。

2. 對于本文中所使用到的相關(guān)的MQ的完整定義,可以在EAST_QUEUE_DEFINE.TXT文件和WEST_QUEUE_DEFINE.TXT文件中找到。讀者也可以使用上述腳本來(lái)生成所需要的MQ對象。





回頁(yè)首


操作步驟、出錯分析及解決

第一部分 配置遠程數據庫連接

操作步驟

本文中,SAMPLE數據庫是源數據庫,源表即在這個(gè)數據庫中。而數據庫ITARGET為目標數據庫。而對于要創(chuàng )建的MQ對象來(lái)說(shuō),名字中的EAST和WEST也將用來(lái)區分兩個(gè)主機,EAST相關(guān)的MQ對象和ITARGET數據庫在同一個(gè)主機上,而WEST相關(guān)的MQ對象和SAMPLE數據庫在同一個(gè)主機上。所以,數據將是從SAMPLE(WEST)復制到ITARGET (EAST),其間通過(guò)定義好的相關(guān)隊列來(lái)實(shí)現數據的中間傳遞作用。

在EAST端(即Apply Server端,也就是ITARGET目標數據庫端),通過(guò)下面的操作步驟來(lái)編目位于另外一個(gè)主機上的SAMPLE源數據庫。

1.打開(kāi)CLP,輸入下面的命令來(lái)實(shí)現對遠程SAMPLE數據庫的編目:


db2 catalog tcpip node WEST remote 9.181.135.61 server 50000                                    db2 catalog database SAMPLE at node WEST                                    db2 terminate;                                    

2.在CLP中輸入下面的命令來(lái)測試從EAST到WEST的連接是否有效:


db2 connect to SAMPLE user administrator using ***                                    db2 terminate;                                    

在上述步驟中,可能會(huì )遇到一些錯誤,筆者將其總結在下面的部分,你也可以通過(guò)本文后面的參考信息獲得更多幫助。這樣,一個(gè)遠程數據庫的編目操作就完成了,用戶(hù)便可以通過(guò)CLP命令行方式或者DB2的控制中心圖形界面方式來(lái)實(shí)現對遠程數據庫的操作。

對于Q復制中的單向復制來(lái)說(shuō),上述編目步驟即可。如果想實(shí)現Q復制中的雙向復制或者P2P復制,那么需要在另外一端完成類(lèi)似上述的步驟,操作方式如下。

在WEST節點(diǎn)(即SAMPLE數據庫所在的主機)上,執行如下的操作:

1.打開(kāi)CLP,輸入下面的命令來(lái)實(shí)現對遠程ITARGET數據庫中的編目:


db2 catalog tcpip node EAST remote 9.181.135.238 server 50000                                    db2 catalog database ITARGET at node EAST                                    db2 terminate;                                    

2.在CLP中輸入下面的命令來(lái)測試從EAST到WEST的連接是否有效:


db2 connect to ITARGET user administrator using xxx                                    db2 terminate;                                    

步驟注解

在本部分過(guò)程中,我們會(huì )經(jīng)常用到如下一些有用的命令,寫(xiě)在這里,僅供參考: (用戶(hù)可以修改粗體部分以符合自身需要)

1) db2 list node directory
2) db2 list node directory show detail
3) db2 catalog tcpip node WSII remote 9.181.139.155 server 50000
4) db2 catalog database source at node WSII
5) db2 terminate
6) db2 list database directory
7) db2 create database database_name
8) db2 drop database database_name
9) db2sampl -k (該命令用來(lái)創(chuàng )建DB2缺省的SAMPLE數據庫,參數k表示建立帶有主鍵的表,如果沒(méi)有該參數,所有表將沒(méi)有主鍵和索引)
10) db2ilist (list instance)
11) db2 uncatalog database database_name
12) db2 uncatalog node node_name

注意: 遠程數據庫可以被編目,被編目的數據庫也可以刪除這種編目關(guān)系,但是數據庫不能在遠端被創(chuàng )建和刪除。

一些重要的概念:

db2c_DB2

在命令"db2 catalog tcpip node WSII remote 9.181.139.155 server 50000"中,其中的參數50000,不僅可以用這種端口的數字形式,也可以用一個(gè)叫做db2c_DB2的服務(wù)名稱(chēng)。

db2c_DB2主要實(shí)現DB2的網(wǎng)絡(luò )服務(wù)功能。db2c_DB2和數字端口之間的關(guān)系實(shí)際上可以在dbm cfg文件中找到。

使用"db2 get dbm cfg"命令并查看如下部分:


TCP/IP Service name (SVCENAME) = db2c_DB2                                    

因為dbm在DB2實(shí)例級別對相關(guān)參數進(jìn)行設定,所以,上述的SVCENAME即是一個(gè)定義TCP/IP服務(wù)端口的實(shí)例級別的參數,其缺省值為50000。

另外,如果是在類(lèi)UNIX系統中,在etc/service目錄下,在services文件中包含了當前DB2所使用到的相關(guān)端口信息,可以通過(guò)修改這個(gè)文件來(lái)進(jìn)行相關(guān)修改和設定。下面即是相關(guān)內容的截取。


DB2_DB2         60000/tcp                                    DB2_DB2_1       60001/tcp                                    DB2_DB2_2       60002/tcp                                    DB2_DB2_END    60003/tcp  // These ports reserved for                                    DB2 Fast Communications Manager                                    db2c_DB2	      50000/tcp  // this is the connection port for instance DB2                                    

Codepage:

因為筆者在操作的過(guò)程中,曾經(jīng)試驗過(guò)一個(gè)是中文操作系統,另外一個(gè)是英文操作系統的情況。在上述情況下,會(huì )發(fā)生所謂的codepage不兼容的問(wèn)題(這個(gè)問(wèn)題在下面的"出錯分析及解決"有進(jìn)一步說(shuō)明)。Codepage就是指DB2的語(yǔ)言的版本。一般來(lái)說(shuō),如果操作系統是中文的話(huà),那么DB2自動(dòng)安裝成為中文版本,如果操作系統是英文的話(huà),那么DB2自動(dòng)安裝成為英文版本。盡管如果源數據庫和目標數據庫的codepage不一樣,用戶(hù)仍然可以成功地從源數據庫連接到目標數據庫(即connect命令仍然可以成功運行),但是如果沒(méi)有定義恰當的轉換表(用來(lái)轉換兩個(gè)不同數據庫之間的codepage的表),在復制的時(shí)候錯誤將不可避免。為了簡(jiǎn)單起見(jiàn),在本操作實(shí)踐過(guò)程中,兩個(gè)數據庫都是使用的同樣的codepage。需要提及的是,codepage可以在創(chuàng )建該數據庫的時(shí)候為其指定。

關(guān)于codepage和數據庫鏈接方面的進(jìn)一步信息,請參考如下網(wǎng)址:

http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0506chong/
http://chinaunix.net/jh/22/16779.html

出錯分析及解決

問(wèn)題1描述:

SQL30081N 檢測到通信錯誤。正在使用的通信協(xié)議:"TCP/IP"。正在使用的通信API: "SOCKETS"。檢測到錯誤的位置:"9.181.139.155"。檢測到錯誤的通信函數:"connect"。協(xié)議特定的錯誤代碼:"10060"、"*"、"*"。 SQLSTATE=08001

分析:

這個(gè)錯誤的原因通常是網(wǎng)絡(luò )連接不穩定造成的。

解決:

檢查并確保源數據庫所在的主機和目標數據庫所在的主機之間的網(wǎng)絡(luò )連接可用,并且端口正確。在很多情況下,網(wǎng)絡(luò )病毒導致網(wǎng)絡(luò )不可用是需要首先檢查的方面。

問(wèn)題2描述:

SQL0332N 沒(méi)有從源代碼頁(yè) "1252" 至目標代碼頁(yè) "1386" 的轉換。原因碼為 "1"。

SQLSTATE=57017

分析:

這個(gè)問(wèn)題主要是由于本地數據庫和遠程數據庫的代碼頁(yè)(codepage)不一致造成的。比如本地數據庫是代碼頁(yè)為1386的中文版本,而遠程數據庫是代碼頁(yè)為1252的英文版本,這樣可能會(huì )產(chǎn)生一些意外的錯誤。

解決:

通過(guò)如下命令來(lái)檢查代碼頁(yè)的相關(guān)設置:(紅色字體可以由用戶(hù)指定)
db2 get db cfg for clientdb (檢查clientdb所使用的代碼頁(yè))
db2 get db cfg for serverdb (檢查serverdb所使用的代碼頁(yè))
db2set (檢查當前數據庫系統所使用的代碼頁(yè))

通過(guò)如下命令來(lái)改變本地DB2數據庫系統的代碼頁(yè):


db2set db2codepage=serverdb codepage (e.g. "1252")                                    db2 terminate                                    

可以通過(guò)如下簡(jiǎn)單的命令來(lái)核對上述修改是否成功:


db2 connect to source user administrator using passw0rd  // source是                                    遠程數據庫服務(wù)器                                    

如果source數據庫和target數據庫可兼容,那么該命令可以成功返回。

第二部分 配置MQ對象

操作步驟

1. 本文附件提供了一些腳本來(lái)創(chuàng )建相關(guān)的MQ對象,用戶(hù)可以通過(guò)修改或者直接使用它們來(lái)創(chuàng )建出必要的MQ對象。EAST_QUEUE_DEFINE.TXT文件是用來(lái)創(chuàng )建QM_EAST相關(guān)的消息對象,WEST_QUEUE_DEFINE.TXT文件是用來(lái)創(chuàng )建QM_WEST相關(guān)的消息對象。上述兩個(gè)腳本,里面都定義了queues、channels,以及queue managers等對象。請注意,上述文件定義的對象,實(shí)際上是用來(lái)做bidirectional的Q復制,對于本文的單向復制而言,只需要用到其中的一部分即可。

2. 在Server A上,定義名叫QM_EAST 的MQ manager。

如果QM_EAST已經(jīng)存在,按照如下步驟刪除舊的QM_EAST:

(1) endmqm QM_EAST
(2) endmqlsr (停止queue manager 的listener,也可以通過(guò)MQ services的start/stop 完成。)
(3) dltmqm QM_EAST

然后通過(guò)下面的步驟來(lái)創(chuàng )建之:

(1) crtmqm -q QM_EAST
(2) strmqm
(3) runmqlsr -t tcp -p 1451
(4) runmqsc QM_EAST<EAST_QUEUE_DEFINE.TXT (需要再開(kāi)一個(gè)cmd運行之)
EAST_QUEUE_DEFINE.TXT在附件中可以找到。

3. 在Server B上,定義名叫QM_WEST的MQ manager。步驟和2類(lèi)似。
如果QM_WEST已經(jīng)存在,按照如下步驟先刪除之:
(1) endmqm QM_WEST
(2) endmqlsr
(3) dltmqm QM_WEST

然后再創(chuàng )建之:
(1) crtmqm -q QM_WEST
(2) strmqm
(3) 在MQ Services的控制面板中,選擇QM_WEST,右鍵單擊,然后選擇new->new listener, 然后添加一個(gè)listener(TCP,端口1451),并確保該listener運行正常。
(4) runmqsc QM_WEST<WEST_QUEUE_DEFINE.TXT
EAST_QUEUE_DEFINE.TXT在附件中可以找到。

注意:QM_EAST和QM_WEST 的listener端口可以任意指定可用的端口,它們可以相同,也可以不相同。這里,我們將QM_EAST和QM_WEST 的端口分別指定為1450和1451,以示區別。

上面講述了創(chuàng )建相關(guān)MQ對象的步驟,下文將對如何測試MQ對象(如MQ channels和queues等)是否正常工作進(jìn)行詳細講解。

測試WSMQ對象的連接性

在定義好WSMQ對象之后,用戶(hù)可以先對其連通性進(jìn)行測試,以確保后面的步驟可以正確進(jìn)行。主要可以從如下方面進(jìn)行測試:

1. 通過(guò)MQ Explorer來(lái)檢查channels連接的有效性.

(1) 在QM_EAST所在的主機上,打開(kāi)MQ Explorer,啟動(dòng)QM_EAST,那么在"channels"->"advanced"里面,將可以看見(jiàn)EAST_TO_WEST和WEST_TO_EAST兩個(gè)channel。

(2) 用戶(hù)可以右鍵點(diǎn)擊EAST_TO_WEST并選擇start啟動(dòng)之,然后可以選擇Status選項來(lái)查看其是否正常運行。

(3) 如果status是"running",表明channel運作正常。

(4) 如果status是"binding",表明channel正在綁定監聽(tīng)端口,稍后將有可能開(kāi)始處于正常運作狀態(tài)。這種情況下,稍等片刻并再次檢查其狀態(tài),如果仍然是處于"binding"的狀態(tài),那么停止并重新啟動(dòng)。

(5) 如果status是"retrying",表明當前channel不能正常運作,這個(gè)通常是由于網(wǎng)絡(luò )原因造成的。檢查網(wǎng)絡(luò )狀況,例如通過(guò)ping程序來(lái)檢查網(wǎng)絡(luò )是否有問(wèn)題,防火墻有時(shí)也可能導致MQ channel的retrying狀態(tài);檢查遠端的queue manager (這里是指QM_WEST)是否已經(jīng)啟動(dòng),其listener是否運作正常,并且檢查CCSID是否一致。如果遠端的QM_WEST沒(méi)有啟動(dòng),那么status很有可能就是retrying的狀態(tài)。所以應該檢查QM_WEST,保證其處于正常狀態(tài),然后在QM_EAST中停止EAST_TO_WEST 這個(gè)channel并重新啟動(dòng)之。這些步驟之后,應該能解決上述問(wèn)題。

對于WEST_TO_EAST這個(gè)channel,在QM_EAST,用戶(hù)可以檢查其狀態(tài)但是不能啟動(dòng)或者停止它,它只能被發(fā)送方啟動(dòng)或者停止。用戶(hù)應該在QM_WEST端啟動(dòng)或者停止它。

2. 通過(guò)CLP方式來(lái)檢查channels的連接性并獲取更多相關(guān)信息有時(shí)候,通過(guò)命令行方式可以高效快捷地檢查一些相關(guān)的信息,這種方式可以腳本化,當我們要檢查的channel很多時(shí),或者相關(guān)操作重復性比較大時(shí),應該考慮命令行方式來(lái)做。另外,命令行方式能夠獲取更多的出錯方面的詳細信息。

(1). 在EAST上運行如下命令:


runmqchl -c EAST_TO_WEST -m QM_EAST                                    

如果沒(méi)有錯誤信息顯示,表明該channel成功運行。之后打開(kāi)另外一個(gè)命令行窗口,并輸入如下的命令:


runmqchl -c WEST_TO_EAST -m QM_WEST                                    

如果此時(shí)返回相關(guān)錯誤碼,那么對其進(jìn)行分析并根據錯誤提示去采取相應的解決辦法。

(2). 測試本地的queues 在EAST上,執行如下命令將一個(gè)消息放到隊列上:


/usr/mqm/samp/bin/amqsput EAST_RESTARTQ QM_EAST                                    Sample AMQSPUT0 start                                    target queue is EAST_RESTARTQ                                    This is a test message to a local queue                                    Sample AMQSPUT0 end                                    

然后通過(guò)執行下面的命令來(lái)從queue中獲取信息。這個(gè)時(shí)候應該會(huì )顯示出上面輸入的消息文本。


/usr/mqm/samp/bin/amqsget EAST_RESTARTQ QM_EAST                                    Sample AMQSGET0 start                                    message <This is a test message to a local queue>                                    no more messages                                    Sample AMQSGET0 end                                    

在WEST端,執行如下命令來(lái)將一個(gè)消息放到隊列里面:


/usr/mqm/samp/bin/amqsput WEST_RESTARTQ QM_WEST                                    Sample AMQSPUT0 start                                    target queue is WEST_RESTARTQ                                    This is a test message to a local queue                                    Sample AMQSPUT0 end                                    

同樣的,執行如下命令來(lái)從queue中獲取信息。這個(gè)時(shí)候應該也會(huì )顯示出上面輸入的相關(guān)消息文本。


/usr/mqm/samp/bin/amqsget WEST_RESTARTQ QM_WEST                                    Sample AMQSGET0 start                                    message <This is a test message to a local queue>                                    no more messages                                    Sample AMQSGET0 end                                    

(3). 測試遠程的queues 測試從遠端的queue上面放入和取出消息。

在EAST上執行如下命令來(lái)將消息放入到WEST_ADMINQ這個(gè)隊列中。


/usr/mqm/samp/bin/amqsput WEST_ADMINQ QM_EAST                                    Sample AMQSPUT0 start                                    target queue is WEST_ADMINTQ                                    This is a test message to a remote queue                                    Sample AMQSPUT0 end                                    

在WEST中執行如下命令獲取來(lái)自WEST_ADMINQ 隊列上的消息。


/usr/mqm/samp/bin/amqsget WEST_ADMINQ QM_WEST                                    Sample AMQSGET0 start                                    message <This is a test message to a remote queue>                                    no more messages                                    Sample AMQSGET0 end                                    

步驟注解

Remote queues:

Remote queues是一個(gè)相對的概念,是用來(lái)在另外一個(gè)queue manager上定義local queue。在本文中,每個(gè)queue manager分別定義了兩個(gè)remote queue。在QM_EAST上,WEST_ADMINQ和EAST_TO_WEST_Q被定義成為remote queue。在QM_WEST上,EAST_ADMINQ和WEST_TO_EAST_Q被定義成為remote queue。

WSMQ objects:

關(guān)于MQ對象的更多信息,請參考《Fast Track implementation scenarios》的附錄A。該資料在附件中已給出。

出錯分析及解決

問(wèn)題1描述:

C:\Documents and Settings\Administrator>runmqchl -c EAST_TO_WEST -m QM_EAST 5724-B41 (C) Copyright IBM Corp. 1994, 2002. ALL RIGHTS RESERVED.
2005-09-25 17:46:56 通道程序已啟動(dòng)。
2005-09-25 17:47:04 AMQ6047: 不支持轉換。
2005-09-25 17:47:04 AMQ9999: 通道程序異常終止。

分析:

在MQ消息手冊中查找關(guān)于A(yíng)MQ6047的相關(guān)信息,如下:

AMQ6047 Conversion not supported.
Explanation: WebSphere MQ is unable to convert string data tagged in CCSID &1 to data in CCSID &2.
User Response: Check the WebSphere MQ Application Programming Reference Appendix and the appropriate National Language Support publications to see if the CCSIDs are supported by your system.

這個(gè)錯誤的原因是由于兩個(gè)queue manager的CCSID 的設置不兼容造成的。而這種不兼容的最根本原因是由于本地的locale和遠程主機的locale不一致造成的(從而WebSphere MQ的安裝語(yǔ)言版本不一樣)。這點(diǎn)和DB2的code page問(wèn)題很類(lèi)似。

解決:

(1) 在MQ explorer中找到CCSID及相關(guān)屬性。在筆者的環(huán)境中,如果安裝的是中文版的MQ,那么CCSID的缺省值是1381,而英文版的則相應為437。在這兩者之間,它們并沒(méi)有直接的轉換方式來(lái)進(jìn)行兼容性處理。

(2) 由于(1),我們必須在本地對CCSID進(jìn)行轉換。在EAST(CCSID=1381)端通過(guò)如下命令來(lái)實(shí)現其轉換:


strmqm                                    runmqsc                                    display qmgr       // 檢查當前queue manager的CCSID值                                    alter qmgr ccsid(437)                                    end                                    

第三部分 通過(guò)Replication Center圖形界面建立遠程Q復制

操作步驟

這部分主要通過(guò)GUI圖形界面(即Replication Center)來(lái)完成。同時(shí),為了方便起見(jiàn),其中也會(huì )用到CLP命令行方式。對于本文的單向復制而言,這里主要通過(guò)配置EAST端來(lái)說(shuō)明相關(guān)使用方法。

在開(kāi)始配置Capture和Apply之前,首先應該對密碼和連接性進(jìn)行測試。在Replication Center中,選擇Manage Password and Connectivity,然后選擇Systems,在其中添加兩行信息,即本地EAST和遠程WEST的相關(guān)密碼和連接信息。

對于遠程Q replication圖形界面方面的基本操作,大體和完全在一個(gè)機器上的Q replication類(lèi)似,主要的區別在于對MQ相關(guān)對象的操作上有所不同。所以下面的操作部分重點(diǎn)在于MQ的詳細介紹。

1.建立Q Capture相關(guān)的控制表

通過(guò)前面的步驟,這里至少可以有兩個(gè)DB2 server可用,一個(gè)是Server A,一個(gè)是Server B??梢允褂萌缦旅顏?lái)獲取相關(guān)信息:db2 list db directory
具體操作步驟如下:

  • 選擇Sample作為Capture Server。
  • 將Q Capture的Schema指定為ASN。
  • Q Manager選擇為QM_WEST,然而admin queue應該為WEST_ADMINQ并且restart queue為ST_RESTARTQ。
  • 在完成上述配置后,Sample這個(gè)Capture Server應該能夠用來(lái)進(jìn)行復制了。

2.建立Q Apply相關(guān)的控制表

  • 選擇ITARGET作為Apply Server。
  • 將Q Apply的Schema指定為ASN。
  • Q Manager應該為QM_EAST。

3.建立Replication Queue Maps

  • 在Sample節點(diǎn)下,選擇"create Replication Queue Maps"。
  • 選擇Apply Server為ITARGET。
  • 因為前面我們選定了WEST_ADMINQ作為Sample這個(gè)Capture Server的AdminQ,所以,Apply server的admin queue也應該同樣指定為WEST_ADMINQ。同時(shí),應該指定send queue和receive queue為WEST_TO_EAST_Q。
  • 為 Queue map指定一個(gè)名稱(chēng)。

4.建立復制預訂集

  • 從Sample節點(diǎn),選擇"create Replication Subscriptions"。
  • 選擇"unidirectional replication"。
  • 選擇ITARGET作為目標服務(wù)器,并且使用前面所建立的Queue map。
  • 從Capture Server中選擇恰當的源表。
  • 對于目標表等其他方面的設置,使用缺省值。
  • 完成預定集的建立。

5.建立Apply所需要的password文件

  • 在目標系統中將當前路徑轉到apply_path上。
  • 輸入命令"asnpwd init"。
  • 輸入命令"asnpwd add alias SAMPLE id administrator password ***"。這樣就會(huì )生成一個(gè)相應的password文件。

6.啟動(dòng)Q Capture程序

設定相關(guān)參數,啟動(dòng)Q Capture。

7.啟動(dòng)Q Apply程序

設定相關(guān)參數,啟動(dòng)Q Apply。

步驟注解

1. 當在Replication Center中配置password和connectivity的時(shí)候,它會(huì )要求指定Directory ,這應該是DB2安裝目錄下的bin目錄所在的路徑,如"c:\sqllib\bin"。

2. 當在Replication Center中配置password和connectivity的時(shí)候,遠程主機名字應該正確指定。實(shí)際上,在這里IP地址也可以和遠程主機名字同樣被使用。

3. 在設置復制環(huán)境的時(shí)候,記得將Capture Server所在的數據庫設置為archive logging模式。

4. Password文件在如下情況下是必須的:

a. 當Q Apply需要使用export來(lái)導出數據時(shí)

b. 當Q Capture需要連接到多個(gè)數據庫分區時(shí)

c. 當需要建立相應的Alert Monitor時(shí)

d. 當需要運行Q Analyzer(該程序需要連接到被分析的Q Capture和Q Apply)時(shí)

e. 當需要用到TDIFF工具時(shí)

5. 關(guān)于Dead Letter Queue,可以參考《Fast Track Implementation Scenarios》中的Appendix C. Dead letter queues in a Q replication environment

出錯分析及解決

問(wèn)題1描述:

Capture可以正常啟動(dòng),但是Apply不能正常啟動(dòng),處于presume stopped的狀態(tài)。Receive queue正常運作,subscription處于"inactive"的狀態(tài),MQ channels正常運作。

分析:

這個(gè)問(wèn)題很有可能是網(wǎng)絡(luò )原因造成的,例如IP設置錯誤等等。

解決:

保證網(wǎng)絡(luò )正常連接,設定正確的IP地址等等。

問(wèn)題2描述:

在apply日志中,有如下信息:

2005-10-14 12:12:49.578000 ERROR ASN7551E "Q Apply" : "ASN" : "BR00000" : The Q Apply program detected a gap in message numbers on receive queue "WEST_TO_EAST_Q", replication queue map "SAMPLE_ASN_TO_ITARGET_ASN". It read message ID "51524550434D6AB0000000000000000000000000000003F0", but expected to find message ID "51524550434D6AB000000000000000000000000000000001". The Q Apply program cannot process any messages until if finds the expected message.

分析:

Q apply程序檢查從Q Capture程序發(fā)送過(guò)來(lái)的消息,這些消息都具有一個(gè)依次遞增的號碼,遞增增幅為1。當Q apply發(fā)現消息之間的號碼不是依次遞增時(shí),Apply程序將停止處理并且將相關(guān)信息寫(xiě)入apply log中??梢酝ㄟ^(guò)命令"db2 ? ASN7551E"來(lái)獲取更多信息。下面即是截取的一部分:

用戶(hù)響應(ASN7551E):

在用來(lái)在 Q Capture 和 Q Apply 程序之間傳輸消息的所有WebSphere MQ 隊列管理器的所有"死信隊列"上查找具有期望消息標識的消息。如果恢復消息,則將它放置在接收隊列上,并保留WebSphere MQ 消息頭信息(尤其是消息標識)。如果不能恢復消息,則遵循下列步驟:

1. 使用 stopq 命令來(lái)停止 Q Apply 程序從接收隊列中進(jìn)行讀取。

2. 取消激活此復制隊列圖的所有 Q 預訂。

3. 清空發(fā)送隊列和接收隊列。

4. 使用 startq 命令,以便 Q Apply 程序繼續從接收隊列中進(jìn)行讀取。

5. 激活此復制隊列圖的所有 Q 預訂。

解決:

通過(guò)如下步驟,可以解決這個(gè)問(wèn)題:

1. asnqacmd apply_server=ITAGGET apply_schema=ASN stoptq=WEST_TO_EAST_Q

2. 在RC中將該Q subscriptions設置成為"deactivate"的狀態(tài)。

3. 通過(guò)RC將WEST_TO_EAST_Q清空。

4. asnqacmd apply_server=ITARGET apply_schema=ASN startq=WEST_TO_EAST_Q

5. 再次將Q subscriptions設置成為"active"的狀態(tài)。

對于該錯誤一個(gè)較好的方法就是:在啟動(dòng)Q Capture或者Q Apply之前,將QM_EAST和QM_WEST 上的admin、restart、和send_receive queueus 清空。

問(wèn)題3描述:

2005-10-16 15:48:16.171000 ERROR ASN0005E CAPTURE "ASN" : "WorkerThread". The Capture program encountered an error when reading the DB2 log. The log sequence number is "0000:0000:0000:0697:A8BD", the SQLCODE is "-2650", and the reason code is "piStartLSNdb2ReadLog2".

分析:

這個(gè)錯誤主要可能是由于DB2的內部錯誤引起的。

解決:

完全重新安裝DB2來(lái)解決這個(gè)問(wèn)題。

問(wèn)題4描述:

2005-10-16-19.40.47.328000 <dbConnection::dbConnectCtx> ASN0552E "Q Apply" : "ASN" : "BR00000SP001" : The program encountered an SQL error. The server name is "SAMPLE". The SQL request is "CONNECT". The table name is "N/A". The SQLCODE is "-30082". The SQLSTATE is "08001". The SQLERRMC is "3PASSWORD MISSING". The SQLERRP is "SQLEXSMC".

分析:

這個(gè)錯誤主要是由于缺少password文件而導致的。

解決:

安裝本文上述相關(guān)內容生成password文件即可。





回頁(yè)首


結束語(yǔ)

本文主要介紹了遠程Q復制的相關(guān)操作,以及一些相關(guān)的核心概念。對于操作過(guò)程中常見(jiàn)的問(wèn)題和錯誤進(jìn)行了分析并給出了一般的解決方法。






回頁(yè)首




本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
MySQL主從僅同步指定庫
英語(yǔ)┃分類(lèi)學(xué)習
英語(yǔ)方位表示法
純音樂(lè )Echoes of East and West(東西和鳴)
MySQL主從復制指定不同庫表同步參數說(shuō)明
IBM Infosphere Data Replication 產(chǎn)品族 Replication Server 與 Change Data Capture 的異同比較
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久