You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Damien Tougas <da...@tougas.net> on 2004/08/23 16:06:22 UTC

Database recovery problem

Hello,

I have a database issue, and svnadmin recover does not seem to help, 
when I run it, I get the following:

Please wait; recovering the repository may take some time...
svn: DB_RUNRECOVERY: Fatal error, run database recovery

So, to try to get a better idea as to what is going on, I tried using 
db_reover, and got the following:

db_recover: DB_LOGC->get: log record LSN 98/985326: checksum mismatch
db_recover: DB_LOGC->get: catastrophic recovery may be required
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: DB_ENV->open: DB_RUNRECOVERY: Fatal error, run database 
recovery

I then tried it's suggestion by attempting a catastrophic recover 
(db_recover -c), and still got the same thing:

db_recover: DB_LOGC->get: log record LSN 98/985326: checksum mismatch
db_recover: DB_LOGC->get: catastrophic recovery may be required
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
db_recover: DB_ENV->open: DB_RUNRECOVERY: Fatal error, run database 
recovery

So, I am not really sure what I should be doing next. Does anyone have 
any suggestions?

I have checked the permissions on the repository, and I have full write 
permissions to all files in the db directory. I believe I am running 
svn version 1.0 (although I can't find a --version switch to tell for 
sure), and Berkeley DB version 4.2.52.

Thanks.

--
Damien Tougas


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Database recovery problem

Posted by Max Bowsher <ma...@ukf.net>.
Damien Tougas wrote:
> Hello,
>
> On Aug 23, 2004, at 1:02 PM, Max Bowsher wrote:
>
>> If you are lucky, then making a copy of your repository and removing
>> (from a COPY), __db.*, and then trying "svnadmin recover repospath",
>> and then if that doesn't work "db_recover -vec" (executed from the db
>> subdirectory of the copy of the repository), will fix things.
>
> It does not appear that I have any files that begin with __DB.*, is
> that normal?

Very unusual. Whilst it is in certain circumstances ok to delete these 
files, they should be re-created at the first attempt to access the 
repository thereafter. In the db subdirectory of the repository, with names 
__db.001 __db.002 __db.003 __db.004 __db.005 .

>> If not, try the same again, this time try removing both __db.* and
>> log.* . If you now have a functioning repository don't put it back
>> into service - "svnadmin dump" it, and load the dump into a new
>> repository.
>
> Removing the log.* files seemed to fix the database restore, I was able
> to do it using the svnadmin utility. As per your recommendation, I did
> a dump on the repaired repository and then a load on a new repository.
> Thank you very much for your help!
>
> Have I lost anything be removing those log files? (there were two of
> them, one was 1.0 Mb, and the other was 6.3 Kb).

After a successful dump/load, very likely you have lost nothing - just check 
if the total number of revisions is correct. Each revision should be either 
completely intact or completely missing.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Database recovery problem

Posted by Damien Tougas <da...@tougas.net>.

Hello,

On Aug 23, 2004, at 1:02 PM, Max Bowsher wrote:

> If you are lucky, then making a copy of your repository and removing 
> (from a COPY), __db.*, and then trying "svnadmin recover repospath",
> and then if that doesn't work "db_recover -vec" (executed from the db 
> subdirectory of the copy of the repository), will fix things.

It does not appear that I have any files that begin with __DB.*, is 
that normal?

> If not, try the same again, this time try removing both __db.* and 
> log.* . If you now have a functioning repository don't put it back 
> into service - "svnadmin dump" it, and load the dump into a new 
> repository.

Removing the log.* files seemed to fix the database restore, I was able 
to do it using the svnadmin utility. As per your recommendation, I did 
a dump on the repaired repository and then a load on a new repository. 
Thank you very much for your help!

Have I lost anything be removing those log files? (there were two of 
them, one was 1.0 Mb, and the other was 6.3 Kb).

--
Damien Tougas


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Database recovery problem

Posted by Max Bowsher <ma...@ukf.net>.
Damien Tougas wrote:
> Hello,
>
> I have a database issue, and svnadmin recover does not seem to help,
> when I run it, I get the following:
>
> Please wait; recovering the repository may take some time...
> svn: DB_RUNRECOVERY: Fatal error, run database recovery
>
> So, to try to get a better idea as to what is going on, I tried using
> db_reover, and got the following:
>
> db_recover: DB_LOGC->get: log record LSN 98/985326: checksum mismatch
> db_recover: DB_LOGC->get: catastrophic recovery may be required
> db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
> db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
> db_recover: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
> db_recover: DB_ENV->open: DB_RUNRECOVERY: Fatal error, run database
> recovery
...

If you are lucky, then making a copy of your repository and removing (from
a COPY), __db.*, and then trying "svnadmin recover repospath", and then if
that doesn't work "db_recover -vec" (executed from the db subdirectory of
the copy of the repository), will fix things. If not, try the same again,
this time try removing both __db.* and log.* . If you now have a functioning
repository don't put it back into service - "svnadmin dump" it, and load
the dump into a new repository.

If not, tar or zip your repository, put it on a web/ftp site, and email me
the url (privately if you wish), and I'll see what I can do.

Max. 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org