This derby.log is indeed a recovery boot error. It has the feel of
the kind of error one would get if someone had deleted a log file
from the log directory. I've also seen this kind of error if someone
copies an active derby database without using derby backup to insure
a consistent set of database and log files.
What is happening is that recovery is booting trying to REDO work
in the log. The following error is the key one:
ERROR XSDB4: Page Page(1,Container(0, 560)) is at version 575, the log
file contains change version 1,052, either there are log records of this
page missing, or this page did not get written out to disk properly.
It has found a log record with version 1,052 of the page but the page
on disk is only at version 575, so there are 577 changes to the page
missing from the recovery log files. Given the number of missing
records for this page, there are going to be big problems with any
attempt to get this table back.
You may want to try using 10.2.2 or even a latest build of the 10.2
branch, but I would not expect it to fix
this recovery error. It may be better at trying to access the copy
of the corrupt db with log files deleted, I thought fixes had gone
in to solve the bad error handling for null pointers which sometimes
led to the RawStore module error.
The intended solution to problems of this type is to recover from
backup. But I assume since you are here, there is no backup. You
can try the path you are already on and try to access a copy of
the db to data mine the corrupt the db, if there is no other way
to get the data. You may want to post the derby.log from when
you tried to do that.
BALDWIN, ALAN J [AG-Contractor/1000] wrote:
Yes, I have the original database with transaction logs intact.
Attached is derby.log. The error is what happens when I try to connect
using the original database with no modifications. I'm using cloudscape
workbench to try to connect. Also, the version of Derby I'm using
10.2.1.6, not 10.1.x as I mentioned before. That was a typo.
Thanks,
-Alan-
-----Original Message-----
From: Mike Matrigali [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 07, 2007 12:59 PM
To: Derby Discussion
Subject: Re: java.sql.SQLException: An internal error was identified by
RawStore module.
NEVER, NEVER, NEVER, ..... delete transaction log files from a database
that you ever hope to get a consistent view of again. If you are really
getting a recovery error when trying to boot the database you may have
to resort to extreme measures if you have no backup to go to, but
anytime you delete a file from derby data or log directly you have
almost always insured that the database will be corrupt. Sometimes you
can get lucky and some of the tables are accessible and you can copy
them out to a non-corrupt database. Hopefully you
were only acting on a copy of the real database, and were just
experimenting.
Were you getting recovery errors on boot when attempting to connect
to the database?
Also the best way to get more info, is to post complete dumps of
derby.log for the various errors you are encountering. Complete
stack traces, with logStatementText enabled gives a pretty good idea
what is going on.
Note that the "An internal error was identified by RawStore module."
is almost always not the real error - some error before it caused this.
I think fixes for this went into 10.2.
BALDWIN, ALAN J [AG-Contractor/1000] wrote:
Hi,
I have a client's database that I cannot connect to. I assumed that
it
was a result of a transaction log corruption or some such thing since
we
have seen that in the past. As an attempt to salvage it, I tried
deleting the two transaction logs in the log folder. Now, I can open
it, but when I run a statement like SELECT * FROM Dealer, I first get
a
NullPointerException. Then if I execute that or any select statement
again, I get this:
java.sql.SQLException: An internal error was identified by RawStore
module.
Is there any way I'm going to be able to salvage this database? Does
anyone have any tricks that I could try?
Regards,
-Alan Baldwin-
/This e-mail message may contain privileged and/or confidential
information, and is intended to be received only by persons entitled
to
receive such information. If you have received this e-mail in error,
please notify the sender immediately. Please delete it and all
attachments from any servers, hard drives or any other media. Other
use
of this e-mail by you is strictly prohibited./
/All e-mails and attachments sent and received are subject to
monitoring, reading and archival by Monsanto. The recipient of this
e-mail is solely responsible for checking for the presence of
"Viruses"
or other "Malware". Monsanto accepts no liability for any damage
caused
by any such code transmitted by or accompanying this e-mail or any
attachment./
---------------------------------------------------------------------------------------------------------
This e-mail message may contain privileged and/or confidential information, and
is intended to be received only by persons entitled to receive such
information. If you have received this e-mail in error, please notify the
sender immediately. Please delete it and all attachments from any servers, hard
drives or any other media. Other use of this e-mail by you is strictly
prohibited.
All e-mails and attachments sent and received are subject to monitoring, reading and archival by
Monsanto. The recipient of this e-mail is solely responsible for checking for the presence of
"Viruses" or other "Malware". Monsanto accepts no liability for any damage
caused by any such code transmitted by or accompanying this e-mail or any attachment.
---------------------------------------------------------------------------------------------------------