You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Kathey Marsden <km...@sbcglobal.net> on 2009/03/02 18:18:12 UTC

Re: Recovering a database that has been corrupted by DERBY-3347

Daniel Tripp wrote:
>
> Hello all. I sent this message to the derby-users list recently, but 
> no one there had any ideas. So I thought that I would post this 
> question here. I hope that I’m not violating the etiquette with this 
> kind of ‘cross-posting’. At any rate, on to my question:
>
> Does anyone know of any way to recover all or parts of a database that 
> has been corrupted by the bug known as DERBY-3347? 
> (https://issues.apache.org/jira/browse/DERBY-3347)
>
> The Derby 10.3.3.0 release announcement states: “In some cases one may recover data from the existing database, depending on the extent of the corruption, but will require by hand data recovery.” and that “one should consult the Derby list if attempting this recovery.”  But I could find no details anywhere on how to even begin such a recovery.
>
> There are many tables in this corrupted database of mine, but if I 
> could recover even a few tables (or even get a row count on those 
> tables) that would be very helpful to me.
>
> Any info on this issue would be much appreciated.
>
So here is the deal. I know a procedure that *might* get your database 
into a bootable state so you could export some data and import into a 
new database. The problem is, that once you perform the procedure, the 
database is still hopelessly corrupt, even though it does boot. In the 
past when I have shared this procedure with users, they get the database 
to the point that it boots and then start using it, which sometime, 
maybe months down the road will cause strange impossible to diagnose 
issues. Also I have found users that have used the procedure on a 
perfectly good database, when they got a different error and corrupted 
their database. For these reasons I don't want to post it to the public 
archives or the Wiki.

Still, I hate to see you unable to retrieve your data, so if you promise 
not to use your database for anything but salvaging data once you get it 
into a bootable state, I will send you the procedure off line. This 
doesn't seem to be very much in the open source spirit, but it's the 
only solution I can think of that doesn't put our users at great risk. 
In the future please backup your data!


Kathey