Please be aware that the content in SAP SQL Anywhere Forum will be migrated to the SAP Community in June and this forum will be retired.

In a multi tyer Installation (level 1 at top, level 2, level 3 on the bottom), we download data from level 1 to level 2 and later down to level 3, and we upload other data from level 3 to level 2.

On level 1 runs mobilink server, on level 2 mobilink server & client, on level 3 mobilink client.

On level 3 are several databases, so the database on level 2 receives big amount of data, and consequently it has enorm transaction log file, as a result takes the dbmlsync on level 2 too long time, despite we theoritically dont need to scan this big transaction log file (as mentioned before the database on level 1 acts only as download).

Is there a solution for such a scenario?

I mean to enforce dbmlsync not to scan the transaction log files, or to download into tables which not exist in sysarticles.

asked 27 Jul '22, 04:56

Baron's gravatar image

accept rate: 48%

edited 27 Jul '22, 05:50


You will want to look at the delete_old_logs and the log management MirrorLogDirectory (may not be required), dbmlsync -x, and/or dbbackup transaction log rename option (DO NOT TRUNCATION transaction logs in a sync environment). The delete_old_logs will delete tlogs involved in synchronization that are no longer needed.

(27 Jul '22, 09:33) Chris Keating
Replies hidden

The delete_old_logs Option is active, and dbmlsync starts with -x, and it is working (rename and truncate), only the problem was that there are too many transactions on the database.

Here another question:

During uploading data from databases from level 3 into database level 2, there was continously Primary Key violation (error 23000/-193). Could this be a reason that causes the Tlog on level 2 to grow enormly?

According to my understanding, only transactions would be written in TLog and not errors and other logs (in the case of PK violation for example). Am I correct?

(27 Jul '22, 10:27) Baron

COMMIT and ROLLBACK transactions are logged to the transaction log.

Make sure that all tables in the schema have primary keys. Tables without primary keys will result in larger transaction log entries for UPDATE and DELETE operations. For example, a delete without a PK

delete from t where col1 = v1, col2 = v2... colN = vN

but with a primary key would be

delete from t where pk = valPK...

Tables with large number of columns and/or blob types can substantially grow the log.

You could translate the log to analyze what is being written to the log and ensure that it is reasonable for your workload.

(27 Jul '22, 11:08) Chris Keating
Comment Text Removed

Failing DML statements are necessarily parts of transactions, so they are logged in the transaction log. too, but will usually lead to a rollback of the transaction they belong to. Dbtran -a will include transactions that were rolled back.

(27 Jul '22, 13:01) Volker Barth

Is the sync between 1st and 2nd tier using a download-only publication, or do you run it as a download-only sync, or currently none of those?

I'm relating to these different concepts.

And does the sync between 1st and 2nd tier also affect data that is synced between 2nd and 3rd tier (and possibly modified at 3rd tier), or are these disjunct data? I'm asking as a download-only sync might run into issues (or fail) when it affect rows that have been modified at the lower tier itself...

permanent link

answered 27 Jul '22, 06:58

Volker%20Barth's gravatar image

Volker Barth
accept rate: 34%

converted 27 Jul '22, 12:46

Currently none of those, is it generally possible to define a download-only publication? With download-only I ment that there are no upload mobilink scripts defined on level 1.

(27 Jul '22, 07:47) Baron
Replies hidden

is it generally possible to define a download-only publication?

It is, see the link in my first response.

(27 Jul '22, 09:17) Volker Barth

Thank you very much, Download-only publications is my survivor!

Can you convert your comment to an answer?

(27 Jul '22, 10:16) Baron
Your answer
toggle preview

Follow this question

By Email:

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



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "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:


question asked: 27 Jul '22, 04:56

question was seen: 595 times

last updated: 27 Jul '22, 13:01