Welcome ...        
          
  ... Visiting Newsgroup Users!
 
  See "What makes SQLA different from the newsgroups?" in the FAQ.
 
vote up 1 vote down
star

I loose my database file. To recovery, I'm getting last full backup and trying to apply the only one transaction log backup and current log.

I'm using dbeng9 database.db -a backup_log.log
and dbeng9 database.db -a current_log.log

I'm successfully appling backup log. I can see "Recovery Complete" message in server log. But, when I try to apply current log, I', getting this message:
"Cannot open transaction log file -- Can't use log file "current_log.log" since it has been used more recently than the database file". Of course log is newer than database!

How can I recover by database? Using dbtran and executing sql file is the last option.

flag
I found my fault! I was missing an little log (16k with only 2 comments) between 1st and 2nd logs. I think if sybase change message to something like 'waiting log with start offset XXXXX, current is YYYY' will help. – Zote Dec 9 at 13:54
If you think that this topic can be closed, please vote for it. – Zote Dec 9 at 13:55
1 
I would suggest that you answer your own question (with the contents of your fist comment) and accept this (or Reimar's) answer as "preferred answer". That should close the case:) – Volker Barth Dec 9 at 14:18
@Volker nice, i'll do that. – Zote Dec 9 at 15:42

3 Answers

vote up 2 vote down

AFAIK if a database is modified and closed any previous transaction log will be "not matching". But you might try to apply both log files in one operation (untested):

dbeng9 database.db -a backup_log.log -a current_log.log

Another method would be using the -ad parameter: put all logfiles in one directory and specify that like

dbeng9 database.db -ad "C:\Database\MyLogDir"

The engine should scan the directory for transaction logs to apply and should process them in the appropriate order.

Help Topic: "dbeng11, command line"

link|flag
vote up 2 vote down
check

I found my fault! I was missing an little log (16k with only 2 comments) between 1st and 2nd logs.
I think if sybase change message to something like 'waiting log with start offset XXXXX, current is YYYY' will help.

link|flag
vote up 1 vote down

Note: the -ad, -ar, and -as switches were not added until SQL Anywhere 10.

link|flag

Your Answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.