cancel
Showing results for 
Search instead for 
Did you mean: 

MobiLink error: duplicate or partial transaction logs and file name

Former Member
3,400

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?

Accepted Solutions (1)

Accepted Solutions (1)

VolkerBarth
Contributor

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.

Former Member
0 Kudos

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!

VolkerBarth
Contributor
0 Kudos

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.

Answers (0)