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 Volker Barth |
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 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. answered 25 Jun '10, 09:59 Volker Barth 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! 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. |