DB2 遠程 Q 複製實踐-以及實操過程故障排除記錄

DB2 遠程 Q 複製實踐

 

簡介

本文將大概講述SQL Replication,然後引出Q Replication的意義。本文檔通過位於兩台不同主機上的數據庫間的單向複製來展現遠程Q複製的使用。除了說明操作步驟以外,本文檔同時也對相關的關鍵概念,一些常見的錯誤以及相關的信息做出了相應解釋。

在實際操作之前,讀者應該具有DB2數據庫的相關管理操作的基本概念和基礎知識,同樣也應該對Websphere Information IntegratorWebsphere MQ有相關了解。如果讀者原來在一個機器上做過DB2複製相關的練習,例如IBM提供的T3練習,將對本文的學習很有幫助。

本文檔主要分為三個大部分:第一個部分是配置和編目遠程數據庫,第二個部分是配置Websphere MQ的相關對象,第三個部分是通過Replication Center來建立起最終的複製環境。對於每一個部分,都包括操作步驟,相關問題和解決辦法,以及一些相關的提示信息。

前提條件

1
平台的選擇

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

2
軟件的安裝

讀者需要安裝好DB2Websphere MQ。依據相關安裝文檔執行即可。

3
本文的相關約定

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

4
主機和DB2的相關設置信息


注意: 在使用複製功能之前,數據庫ITARGETSAMPLE都應該將日誌模式設置為archive logging模式(歸檔日誌模式)。

5 Websphere MQ的相關配置信息


6 Q複製的配置信息


注意: 1. 上面的Replication q map name可以由用戶自行定義,一般可以按照複製的功能特點來進行命名。

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

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

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

操作步驟

本文中,SAMPLE數據庫是源數據庫,源表即在這個數據庫中。而數據庫ITARGET為目標數據庫。而對於要創建的MQ對象來說,名字中的EASTWEST也將用來區分兩個主機,EAST相關的MQ對象和ITARGET數據庫在同一個主機上,而WEST相關的MQ對象和SAMPLE數據庫在同一個主機上。所以,數據將是從SAMPLEWEST)複製到ITARGET EAST),其間通過定義好的相關隊列來實現數據的中間傳遞作用。

EAST端(即Apply Server端,也就是ITARGET目標數據庫端),通過下面的操作步驟來編目位於另外一個主機上的SAMPLE源數據庫。

1.打開CLP,輸入下面的命令來實現對遠程SAMPLE數據庫的編目:

1

2

3

db2 catalog tcpip node WEST remote 9.181.135.61 server 50000

db2 catalog database SAMPLE at node WEST

db2 terminate;

2.在CLP中輸入下面的命令來測試從EASTWEST的連接是否有效:

1

2

db2 connect to SAMPLE user administrator using ***

db2 terminate;

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

對於Q複製中的單向複製來說,上述編目步驟即可。如果想實現Q複製中的雙向複製或者P2P複製,那麼需要在另外一端完成類似上述的步驟,操作方式如下。

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

1.打開CLP,輸入下面的命令來實現對遠程ITARGET數據庫中的編目:

1

2

3

db2 catalog tcpip node EAST remote 9.181.135.238 server 50000

db2 catalog database ITARGET at node EAST

db2 terminate;

2.在CLP中輸入下面的命令來測試從EASTWEST的連接是否有效:

1

2

db2 connect to ITARGET user administrator using xxx

db2 terminate;

步驟註解

在本部分過程中,我們會經常用到如下一些有用的命令,寫在這裡,僅供參考: (用戶可以修改粗體部分以符合自身需要)

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
(該命令用來創建DB2缺省的SAMPLE數據庫,參數k表示建立帶有主鍵的表,如果沒有該參數,所有表將沒有主鍵和索引)
10) db2ilist (list instance)
11) db2 uncatalog database database_name
12) db2 uncatalog node node_name

注意: 遠程數據庫可以被編目,被編目的數據庫也可以刪除這種編目關係,但是數據庫不能在遠端被創建和刪除。

一些重要的概念:

db2c_DB2

在命令“db2 catalog tcpip node WSII remote 9.181.139.155 server 50000”中,其中的參數50000,不僅可以用這種端口的數字形式,也可以用一個叫做db2c_DB2的服務名稱。

db2c_DB2主要實現DB2的網絡服務功能。db2c_DB2和數字端口之間的關係實際上可以在dbm cfg文件中找到。

使用“db2 get dbm cfg”命令並查看如下部分:

1

TCP/IP Service name (SVCENAME) = db2c_DB2

因為dbmDB2實例級別對相關參數進行設定,所以,上述的SVCENAME即是一個定義TCP/IP服務端口的實例級別的參數,其缺省值為50000

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

1

2

3

4

5

6

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:

因為筆者在操作的過程中,曾經試驗過一個是中文操作系統,另外一個是英文操作系統的情況。在上述情況下,會發生所謂的codepage不兼容的問題(這個問題在下面的出錯分析及解決有進一步說明)。Codepage就是指DB2的語言的版本。一般來說,如果操作系統是中文的話,那麼DB2自動安裝成為中文版本,如果操作系統是英文的話,那麼DB2自動安裝成為英文版本。儘管如果源數據庫和目標數據庫的codepage不一樣,用戶仍然可以成功地從源數據庫連接到目標數據庫(即connect命令仍然可以成功運行),但是如果沒有定義恰當的轉換表(用來轉換兩個不同數據庫之間的codepage的表),在複製的時候錯誤將不可避免。為了簡單起見,在本操作實踐過程中,兩個數據庫都是使用的同樣的codepage。需要提及的是,codepage可以在創建該數據庫的時候為其指定。

關於codepage和數據庫鏈接方面的進一步信息,請參考如下網址:

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

出錯分析及解決

問題1描述:

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

分析:

這個錯誤的原因通常是網絡連接不穩定造成的。

解決:

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

問題2描述:

SQL0332N 沒有從源代碼頁 “1252” 至目標代碼頁 “1386” 的轉換。原因碼為 “1”

SQLSTATE=57017

分析:

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

解決:

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

通過如下命令來改變本地DB2數據庫系統的代碼頁:

1

2

db2set db2codepage=serverdb codepage (e.g. “1252”)

db2 terminate

可以通過如下簡單的命令來核對上述修改是否成功:

1

2

db2 connect to source user administrator using passw0rd  // source

遠程數據庫服務器

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

第二部分
配置MQ對象

操作步驟

1. 本文附件提供了一些腳本來創建相關的MQ對象,用戶可以通過修改或者直接使用它們來創建出必要的MQ對象。EAST_QUEUE_DEFINE.TXT文件是用來創建QM_EAST相關的消息對象,WEST_QUEUE_DEFINE.TXT文件是用來創建QM_WEST相關的消息對象。上述兩個腳本,裏面都定義了queueschannels,以及queue managers等對象。請注意,上述文件定義的對象,實際上是用來做bidirectionalQ複製,對於本文的單向複製而言,只需要用到其中的一部分即可。

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

如果QM_EAST已經存在,按照如下步驟刪除舊的QM_EAST

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

然後通過下面的步驟來創建之:

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

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

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

注意:QM_EASTQM_WEST listener端口可以任意指定可用的端口,它們可以相同,也可以不相同。這裡,我們將QM_EASTQM_WEST 的端口分別指定為14501451,以示區別。

上面講述了創建相關MQ對象的步驟,下文將對如何測試MQ對象(如MQ channelsqueues等)是否正常工作進行詳細講解。

測試WSMQ對象的連接性

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

1. 通過MQ Explorer來檢查channels連接的有效性.

(1) QM_EAST所在的主機上,打開MQ Explorer,啟動QM_EAST,那麼在“channels”->”advanced”裏面,將可以看見EAST_TO_WESTWEST_TO_EAST兩個channel

(2) 用戶可以右鍵點擊EAST_TO_WEST並選擇start啟動之,然後可以選擇Status選項來查看其是否正常運行。

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

(4) 如果status“binding”,表明channel正在綁定監聽端口,稍後將有可能開始處於正常運作狀態。這種情況下,稍等片刻並再次檢查其狀態,如果仍然是處於“binding”的狀態,那麼停止並重新啟動。

(5) 如果status“retrying”,表明當前channel不能正常運作,這個通常是由於網絡原因造成的。檢查網絡狀況,例如通過ping程序來檢查網絡是否有問題,防火牆有時也可能導致MQ channelretrying狀態;檢查遠端的queue manager (這裡是指QM_WEST)是否已經啟動,其listener是否運作正常,並且檢查CCSID是否一致。如果遠端的QM_WEST沒有啟動,那麼status很有可能就是retrying的狀態。所以應該檢查QM_WEST,保證其處於正常狀態,然後在QM_EAST中停止EAST_TO_WEST 這個channel並重新啟動之。這些步驟之後,應該能解決上述問題。

對於WEST_TO_EAST這個channel,在QM_EAST,用戶可以檢查其狀態但是不能啟動或者停止它,它只能被發送方啟動或者停止。用戶應該在QM_WEST端啟動或者停止它。

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

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

1

runmqchl -c EAST_TO_WEST -m QM_EAST

如果沒有錯誤信息顯示,表明該channel成功運行。之後打開另外一個命令行窗口,並輸入如下的命令:

1

runmqchl -c WEST_TO_EAST -m QM_WEST

如果此時返回相關錯誤碼,那麼對其進行分析並根據錯誤提示去採取相應的解決辦法。

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

1

2

3

4

5

/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

然後通過執行下面的命令來從queue中獲取信息。這個時候應該會顯示出上面輸入的消息文本。

1

2

3

4

5

/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端,執行如下命令來將一個消息放到隊列裏面:

1

2

3

4

5

/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

同樣的,執行如下命令來從queue中獲取信息。這個時候應該也會顯示出上面輸入的相關消息文本。

1

2

3

4

5

/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上執行如下命令來將消息放入到WEST_ADMINQ這個隊列中。

1

2

3

4

5

/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中執行如下命令獲取來自WEST_ADMINQ 隊列上的消息。

1

2

3

4

5

/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是一個相對的概念,是用來在另外一個queue manager上定義local queue。在本文中,每個queue manager分別定義了兩個remote queue。在QM_EAST上,WEST_ADMINQEAST_TO_WEST_Q被定義成為remote queue。在QM_WEST上,EAST_ADMINQWEST_TO_EAST_Q被定義成為remote queue

WSMQ objects:

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

出錯分析及解決

問題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
通道程序已啟動。
2005-09-25 17:47:04 AMQ6047:
不支持轉換。
2005-09-25 17:47:04 AMQ9999:
通道程序異常終止。

分析:

MQ消息手冊中查找關於AMQ6047的相關信息,如下:

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.

這個錯誤的原因是由於兩個queue managerCCSID 的設置不兼容造成的。而這種不兼容的最根本原因是由於本地的locale和遠程主機的locale不一致造成的(從而WebSphere MQ的安裝語言版本不一樣)。這點和DB2code page問題很類似。

解決:

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

(2) 由於(1),我們必須在本地對CCSID進行轉換。在EAST(CCSID=1381)端通過如下命令來實現其轉換:

1

2

3

4

5

strmqm

runmqsc

display qmgr       // 檢查當前queue managerCCSID

alter qmgr ccsid(437)

end

第三部分
通過Replication Center圖形界面建立遠程Q複製

操作步驟

這部分主要通過GUI圖形界面(即Replication Center)來完成。同時,為了方便起見,其中也會用到CLP命令行方式。
對於本文的單向複製而言,這裡主要通過配置EAST端來說明相關使用方法。

在開始配置CaptureApply之前,首先應該對密碼和連接性進行測試。
Replication Center中,選擇Manage Password and Connectivity,然後選擇Systems,在其中添加兩行信息,即本地EAST和遠程WEST的相關密碼和連接信息。

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

1.建立Q Capture相關的控制表

通過前面的步驟,這裡至少可以有兩個DB2 server可用,一個是Server A,一個是Server B。可以使用如下命令來獲取相關信息:db2 list db directory
具體操作步驟如下:

  • 選擇Sample作為Capture Server
  • Q CaptureSchema指定為ASN
  • Q Manager選擇為QM_WEST,然而admin queue應該為WEST_ADMINQ並且restart queueST_RESTARTQ
  • 在完成上述配置後,Sample這個Capture Server應該能夠用來進行複製了。

    2.建立Q Apply相關的控制表

  • 選擇ITARGET作為Apply Server
  • Q ApplySchema指定為ASN
  • Q Manager應該為QM_EAST

    3.建立Replication Queue Maps

  • Sample節點下,選擇“create Replication Queue Maps”
  • 選擇Apply ServerITARGET
  • 因為前面我們選定了WEST_ADMINQ作為Sample這個Capture ServerAdminQ,所以,Apply serveradmin queue也應該同樣指定為WEST_ADMINQ。同時,應該指定send queuereceive queueWEST_TO_EAST_Q
  • Queue map指定一個名稱。

    4.建立複製預訂集

  • Sample節點,選擇“create Replication Subscriptions”
  • 選擇“unidirectional replication”
  • 選擇ITARGET作為目標服務器,並且使用前面所建立的Queue map
  • Capture Server中選擇恰當的源表。
  • 對於目標表等其他方面的設置,使用缺省值。
  • 完成預定集的建立。

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

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

    6.啟動Q Capture程序

    設定相關參數,啟動Q Capture

    7.啟動Q Apply程序

    設定相關參數,啟動Q Apply

    步驟註解

    1. 當在Replication Center中配置passwordconnectivity的時候,它會要求指定Directory ,這應該是DB2安裝目錄下的bin目錄所在的路徑,如“c:\sqllib\bin”

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

    3. 在設置複製環境的時候,記得將Capture Server所在的數據庫設置為archive logging模式。

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

    a. Q Apply需要使用export來導出數據時

    b. Q Capture需要連接到多個數據庫分區時

    c. 當需要建立相應的Alert Monitor

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

    e. 當需要用到TDIFF工具時

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

    出錯分析及解決

    問題1描述:

    Capture可以正常啟動,但是Apply不能正常啟動,處於presume stopped的狀態。Receive queue正常運作,subscription處於“inactive”的狀態,MQ channels正常運作。

    分析:

    這個問題很有可能是網絡原因造成的,例如IP設置錯誤等等。

    解決:

    保證網絡正常連接,設定正確的IP地址等等。

    問題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程序發送過來的消息,這些消息都具有一個依次遞增的號碼,遞增增幅為1。當Q apply發現消息之間的號碼不是依次遞增時,Apply程序將停止處理並且將相關信息寫入apply log中。可以通過命令“db2 ? ASN7551E”來獲取更多信息。下面即是截取的一部分:

    用戶響應(ASN7551E:

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

    1. 使用 stopq 命令來停止 Q Apply 程序從接收隊列中進行讀取。

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

    3. 清空發送隊列和接收隊列。

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

    5. 激活此複製隊列圖的所有 Q 預訂。

    解決:

    通過如下步驟,可以解決這個問題:

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

    2. RC中將該Q subscriptions設置成為“deactivate”的狀態。

    3. 通過RCWEST_TO_EAST_Q清空。

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

    5. 再次將Q subscriptions設置成為“active”的狀態。

    對於該錯誤一個較好的方法就是:在啟動Q Capture或者Q Apply之前,將QM_EASTQM_WEST 上的adminrestart、和send_receive queueus 清空。

    問題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”.

    分析:

    這個錯誤主要可能是由於DB2的內部錯誤引起的。

    解決:

    完全重新安裝DB2來解決這個問題。

    問題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”.

    分析:

    這個錯誤主要是由於缺少password文件而導致的。

    解決:

    安裝本文上述相關內容生成password文件即可。

    結束語

    本文主要介紹了遠程Q複製的相關操作,以及一些相關的核心概念。對於操作過程中常見的問題和錯誤進行了分析並給出了一般的解決方法。

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營

發表評論

您的電子郵箱地址不會被公開。 必填項已用*標註