What could be the reason for such a problem (SQL Anywhere 17.0.10.6285):

Cons. DB ~ 2.5GB, and tries to download big amount of Data (45 Tables with total ~1 GB) / into a Remote DB.

DBMLSYNC stops during downloading into one of the biggest tables (say Table1) and reports an error (-141 table Table1 not found), but the table exists of course.

I tried to split the amount of data being downloaded into 3 portions, then it works (using one of these approaches)

1- On remote I let each time only 15 tables synchronize, at the end I get all 45 synchronized (downloaded) without error.

2- On the Cons. I copy the shadow tables, delete them and re-fill them on 3 steps, so each time one third of each table will be downloaded, at the end the full amount of data is downloaed without error.

P.S. in case I split the data into 2 portions, then I get the same error regarding another table, so it sounds like it is not related to a particular table, but more a performance problem. How can I better localize the error?

asked 02 Dec '22, 03:10

Baron's gravatar image

Baron
1.8k117129153
accept rate: 50%

edited 02 Dec '22, 03:19

I can think of no reason why the database engine would suddenly say that the table does not exist after having already insert/updated/deleted a number of rows into that table.

Is there anything the database engine output log at the same time as the error?

Have you looked at the transaction log (make sure to translate in chronological order and include rollback transactions) around the time of the error to convince yourself that nobody deleted (and maybe re-added) the table at the time the error occurred?

Reg

(02 Dec '22, 11:14) Reg Domaratzki
Replies hidden

What do you mean with chronological translation? I think dbtran does it by default, is there a way to change the order of transaction or to enforce translating them 'chronologically'?

I don't see any unusal message in the log of the engine!

As reported, dividing/splitting the amount of data solves the problem!

During the synchronisation there is no any other connections to the databases, and I tried also extra setting PUBLIC.fire_triggers='Off'

(05 Dec '22, 02:59) Baron
1

What do you mean with chronological translation?

I guess Reg is refering to using DBTRAN with options "-a -d" to include rolled-back transactions and use chronological output.

(05 Dec '22, 03:38) Volker Barth
1

I think dbtran does it by default

By default, when dbtran sees a commit (or rollback if -a is used), it will then print the entire transaction to the output file. If you run dbtran with the -d switch to write in chronological order, then each operation is printed to the output file as it is read, regardless of when the commit/rollback occurs.

(05 Dec '22, 09:26) Reg Domaratzki
Be the first one to answer this question!
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×369
×272

question asked: 02 Dec '22, 03:10

question was seen: 121 times

last updated: 05 Dec '22, 09:27