On 3/15/2011 4:40 AM, Phil Bradley wrote:

Hi Kathey, Knut,

Thanks for your feedback. I had seen bug 4275 but discounted it on the
basis that the problem occurs even after shutting down the database.
Apart from the stack trace, is there something else I can do that will
help to diagnose this? Unfortunately, I can't send you the database as
this would raise data protection issues but if there are any steps that
I can take that will help to diagnose this I'll be happy to submit the
results (I think this is too vague at the moment to raise a bug but if I
can narrow it down, I'll be happy to do this).

I think the first thing to do is to take a look at the ls -lR output of the corrupt database, preferably with original timestamps intact, to make sure the transaction logs were not accidentally or intentionally deleted. Sometimes people mistake the transaction log for the error log and start deleting stuff under there or follow really bad, wrong and horrible instructions to do so and corrupt their database that way. If you look at the log directory the logx.dat files should be in order with no gaps and generally should not start with 1 if this system has been running for a while. If a table or index was created and then the jvm exits without recovering the log because of manual manipulation, obviously the conglomerate will be missing. You can think about your application and when it creates tables and indexes to consider if this is how it might have gone missing. One good way to help protect the database from users if you suspect this to be the problem is to have your application do an orderly shutdown on exit. This will eliminate the need for recovery on each boot and perhaps make startup a bit faster. Of course recovery will be needed in the event of a crash and will be performed normally in that case. If you think the database looks clean and untampered, repost and I can suggest a few more steps.

Kathey












Reply via email to