on 2018 Mar 08 6:21 PM
Could maybe someone help for this problem (Version 10.0.1.4213): We are using DBREMOTE for replicating a cons. against several tens of remotes (bidrectional repl.), where everything seems to be ok, as DBREMOTE logs show no any error and the offsets in SYSREMOTEUSERS are matching, the problem is that 'from time to time' we receive incomplete records on cons., in other words our application is writing in table T1 on each remote, and then T1 is replicated to cons., and at the end we see some gaps in table T1 on cons. Below is a snapshot of log files:
I. 2018-02-26 11:00:06. Sending message to "DBSRV_user" (1-05474989504-05475193069-0) I. 2018-02-26 11:00:06. Sending message to "DBSRV_user" (1-05475193069-05475299039-0) I. 2018-02-26 11:00:07. Sending message to "DBSRV_user" (1-05475299039-05475305061-0) ......... I. 2018-02-26 11:00:06. Sending message to "DBSRV_user" (1-05474989504-05475193069-0) I. 2018-02-26 11:00:06. Sending message to "DBSRV_user" (1-05475193069-05475299039-0) I. 2018-02-26 11:00:07. Sending message to "DBSRV_user" (1-05475299039-05475305061-0) ......... I. 2018-02-26 12:32:04. Sending message to "DBSRV_user" (1-05475305061-05475926378-0) ......... I. 2018-02-26 13:00:05. Sending message to "DBSRV_user" (1-05475926378-05476015975-0) .........
I. 2018-02-26 11:15:35. Received message from "DBLA02_user" (1-05474989504-05475193069-0) I. 2018-02-26 11:15:35. Applying message from "DBLA02_user" (1-05474989504-05475193069-0) .......replicated transactions...... I. 2018-02-26 11:15:35. Received message from "DBLA02_user" (1-05475193069-05475299039-0) I. 2018-02-26 11:15:35. Applying message from "DBLA02_user" (1-05475193069-05475299039-0) .......replicated transactions...... I. 2018-02-26 11:15:36. Received message from "DBLA02_user" (1-05475299039-05475305061-0) I. 2018-02-26 11:15:36. Applying message from "DBLA02_user" (1-05475299039-05475305061-0) .......replicated transactions...... I. 2018-02-26 13:15:40. Received message from "DBLA02_user" (1-05475305061-05475926378-0) I. 2018-02-26 13:15:40. Applying message from "DBLA02_user" (1-05475305061-05475926378-0) I. 2018-02-26 13:15:40. COMMIT I. 2018-02-26 13:15:40. Received message from "DBLA02_user" (1-05475926378-05476015975-0) I. 2018-02-26 13:15:40. Applying message from "DBLA02_user" (1-05475926378-05476015975-0) .......replicated transactions......
The missing records are actually contained in the message (05475305061-05475926378), which is a big message compared to the other messages, but nothing is replicated through this message (there is only a commit statement as a result of applying this message!)
From remote side, I can notice that (for some unknown reason) the DBREMOTE seems to be executed concurrently (for generating the messages (05474989504-05475193069)(05475193069-05475299039)(05475299039-05475305061)), but those messages are actually replicated correctly to cons.
Does DBREMOTE have any option/switch to prevent concurrent instances? Is there any hint for solving this problem?
Thanks in advance
Request clarification before answering.
There is a mechanism in SQL Remote to prevent two instances of dbremote from connecting to the same DATABASE, at least as far back as v12. I'm pretty sure that the same code exists in v10, but I can't confirm that right now, since I don't have access to our older source control system when I'm working remotely.
I. 2018-03-11 15:11:00. SQL Remote Message Agent Version 12.0.1.4391 I. 2018-03-11 15:11:00. I. 2018-03-11 15:11:00. Copyright ⌐ 2001-2015, iAnywhere Solutions, Inc. I. 2018-03-11 15:11:00. Portions copyright ⌐ 1988-2015, Sybase, Inc. All rights reserved. I. 2018-03-11 15:11:00. Use of this software is governed by the Sybase License Agreement. I. 2018-03-11 15:11:00. Refer to http://www.sybase.com/softwarelicenses. I. 2018-03-11 15:11:00. I. 2018-03-11 15:11:00. 1: -c I. 2018-03-11 15:11:00. 2: ********************************** I. 2018-03-11 15:11:00. 3: -v I. 2018-03-11 15:11:00. 4: -o I. 2018-03-11 15:11:00. 5: cons_2.txt I. 2018-03-11 15:11:00. 6: -qc E. 2018-03-11 15:11:00. SQL statement failed: (-782) Cannot register 'sybase.asa.dbremote.both' since another exclusive instance is running E. 2018-03-11 15:11:00. Cannot register 'sybase.asa.dbremote.both' since another exclusive instance is running (-782) E. 2018-03-11 15:11:00. Error connecting to database
You can test this yourself quite easily with your v10 software by executing the following two commands in a DOS prompt against a running database with replication enabled to see the same message I posted above in one of the two output files :
start dbremote -c "..." -v -o rem_1.txt start dbremote -c "..." -v -o rem_2.txt
Have you run dbtran (with -sr) against the source database and confirmed that there are actually committed transactions that occurred between log offsets 05475305061 and 05475926378?
Reg
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, I tried to call concurrent 2 instances of DBREMOTE and I got the error message (-782). On the productive system we have the same version, and we call DBREMOTE once each 30 minute, nevertheless I can see two log files generated simultaneously (generating the messages (1-05474989504-05475193069-0);(1-05475193069-05475299039-0);(1-05475299039-05475305061-0) on 2018-02-26 11:00:06). Since we are using the switch -X with DBREMOTE, the Transaction-log files are reorganized and the suspecting range of offset is no more existing. I have deactiveted -X and will wait for next error occurence and try dbtran with -sr.
User | Count |
---|---|
46 | |
9 | |
8 | |
6 | |
5 | |
5 | |
4 | |
4 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.