The forum will be down for scheduled maintenance on Saturday, March 4 beginning at 10am EST. Actual downtime is unknown but may be several hours.

Using SQLAnywhere / Mobilink 11 64bit

We just recently started getting the error: Found duplicate or partial transaction logs and file name in our staging environment. Adding the -do switch to our dbmlsync call seems to resolve the issue.

Any ideas why has this suddenly come up? We do have multiple databases (and their transaction logs) in the same directory, but we have been running in this same configuration for some time without issue. Also is using the -do switch the correct action?

asked 24 Jun '10, 17:44

adoptableCoho's gravatar image

adoptableCoho
11112
accept rate: 0%

edited 25 Jun '10, 10:00

Volker%20Barth's gravatar image

Volker Barth
29.5k291441646


The problem might be that one of your databases has created an offline log. That happens when you do a backup with renaming the transaction log (e.g. BACKUP DATABASE ... TRANSACTION LOG RENAME). You have then two logs for the same database:

  • the old, renamed log, typically named in the format .log
  • the newly created log with the usual name .log

The same renaming of logs can be done with DBMLSYNC -x (and DBREMOTE -x).

Whereas the names of the original logs for different databases are different (i.e. db1.log, db2.log, ...), the names for renamed logs are similar. As such, DBMLSYNC can't know which renamed log belongs to which database if they are stored in the same directory. So it might be that it scans a renamed log of the wrong database. That may lead to inconsistencies in the log offsets - resulting in the eror message you got.

I would generally recommend to put different databases with their logs in different directories to prevent this problem.

DBMLSYNC -do may be your solution for the moment but only as long as there's no need to rescan a renamed log.

permanent link

answered 25 Jun '10, 09:59

Volker%20Barth's gravatar image

Volker Barth
29.5k291441646
accept rate: 32%

I don't think it is due to a renamed transaction log, as the database was freshly created - this was the first time an upload sync had occurred on any of the databases in that directory.

We will use -do as a short term solution, and at the next opportunity move the databases and their logs into separate directories.

Thank you for the help!

(25 Jun '10, 20:13) adoptableCoho

Then it might just be the general case that dbmlsync will be disturbed when there are logs from several databases in the same directory. And as long as you do not rename logs, option -do should be sufficient.

(25 Jun '10, 21:38) Volker Barth
Your answer
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:

×270
×30

question asked: 24 Jun '10, 17:44

question was seen: 1,412 times

last updated: 25 Jun '10, 10:00