You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by David Sitsky <si...@nuix.com> on 2009/06/10 09:10:42 UTC

Repairing a corrupted database with invalid checksum on page

I have a customer (unfortunately with confidential data) who has a Derby 
database with corruption.  I'm not sure of the details - somehow an 
eSata disk was powered off, and perhaps it had write-caching enabled, 
I'm not sure.

I've read on some Derby docs online that:

"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. Depending on the type of corruption this may
be successful or not. one should consult the Derby list if attempting
this recovery - no automatic software solution to this recovery exists."

So I guess that is what I am doing... I've included the error below as 
to what the database has reported.  The customer has 7 other databases 
on the same disk which is fine, so perhaps the corruption is limited.

Apart from using backups (which are unfortunately old), are there any 
options to get this database back into any kind of shape?  The thought 
of fixing the checksum on this page and praying for the best seems 
dangerous.. but they don't have many other options..

Thanks for any advice.

----------------------------------------------------------------
2009-06-09 02:04:52.245 GMT:
  Booting Derby version The Apache Software Foundation - Apache Derby - 
10.4.1.3 - (exported): instance 40348015-0121-c2c2-c064-ffffafcf10ad
on database directory 
X:\Baulderstone\Stores\Complete-bea2c17c113d42519b6ff5aa5d9b0141\Stores\EvidenceDatabase 



------------  BEGIN SHUTDOWN ERROR STACK -------------

ERROR XSDG2: Invalid checksum on Page Page(3586,Container(0, 1105)), 
expected=1,077,491,282, on-disk version=1,792, page dump follows: Hex dump:
00000000: 0075 0000 0000 0000 0000 0000 0000 0000  .u..............
00000010: 0000 0006 0000 0000 0000 0000 0000 0000  ................
00000020: 0000 0000 0001 0000 0000 0000 0000 0000  ................
00000030: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000040: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000050: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000060: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000070: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000080: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000090: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000000f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000100: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000110: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000120: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000130: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000140: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000150: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000160: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000170: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000180: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000190: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000200: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000210: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000220: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000230: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000240: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000250: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000260: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000270: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000280: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000290: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000002f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000300: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000310: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000320: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000330: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000340: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000350: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000360: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000370: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000380: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000390: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000003f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000400: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000410: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000420: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000430: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000440: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000450: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000460: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000470: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000480: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000490: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000004f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000500: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000510: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000520: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000530: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000540: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000550: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000560: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000570: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000580: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000590: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000005f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000600: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000610: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000620: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000630: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000640: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000650: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000660: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000670: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000680: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000690: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000006f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000700: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000710: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000720: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000730: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000740: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000750: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000760: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000770: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000780: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000790: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000007f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000800: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000810: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000820: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000830: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000840: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000850: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000860: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000870: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000880: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000890: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000008f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000900: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000910: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000920: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000930: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000940: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000950: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000960: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000970: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000980: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000990: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000009f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000aa0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ab0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ac0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ad0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ae0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000af0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ba0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000bb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000bc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000bd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000be0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000bf0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ca0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000cb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000cc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000cd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ce0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000cf0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000da0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000db0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000dc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000dd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000de0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000df0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e00: 5253 5452 1e00 0900 0000 0000 0000 0000  RSTR............
00000e10: 0010 0000 0010 0000 3000 0100 0100 0700  ........0.......
00000e20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e30: 1c1a 0002 0000 0000 0100 ffff 0000 0200  ................
00000e40: 2800 0000 e000 4000 0000 0004 0000 0000  ................
00000e50: 7000 0000 3000 4000 b081 9e63 0000 0000  p...0...???c....
00000e60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e70: 111a 0002 0000 0000 1c1a 0002 0000 0000  ................
00000e80: ffff ffff 0000 0000 0000 0000 0800 0000  ................
00000e90: 4e00 5400 4600 5300 0000 0000 0000 0000  N.T.F.S.........
00000ea0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000eb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ec0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ed0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ee0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ef0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000f90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000fa0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000fb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000fc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000fd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000fe0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000ff0: 0000 0000 0000 0000 0000 0000 0000 0700  ................

	at 
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:373)
	at 
org.apache.derby.impl.store.raw.data.StoredPage.validateChecksum(StoredPage.java:939)
	at 
org.apache.derby.impl.store.raw.data.StoredPage.initFromData(StoredPage.java:820)
	at 
org.apache.derby.impl.store.raw.data.CachedPage.setIdentity(CachedPage.java:210)
	at 
org.apache.derby.impl.services.cache.ConcurrentCache.find(ConcurrentCache.java:295)
	at 
org.apache.derby.impl.store.raw.data.FileContainer.getAnyPage(FileContainer.java:2507)
	at 
org.apache.derby.impl.store.raw.data.BaseContainer.getAnyPage(BaseContainer.java:496)
	at 
org.apache.derby.impl.store.raw.data.BaseContainerHandle.getAnyPage(BaseContainerHandle.java:611)
	at 
org.apache.derby.impl.store.raw.data.PageBasicOperation.findpage(PageBasicOperation.java:304)
	at 
org.apache.derby.impl.store.raw.data.PageBasicOperation.needsRedo(PageBasicOperation.java:160)
	at 
org.apache.derby.impl.store.raw.log.FileLogger.redo(FileLogger.java:1395)
	at 
org.apache.derby.impl.store.raw.log.LogToFile.recover(LogToFile.java:920)
	at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:334)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:553)
	at 
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427)
	at 
org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:1019)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:553)
	at 
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427)
	at org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:780)
	at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:196)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1836)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1702)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1531)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:1001)
	at 
org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:550)
	at 
org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:2416)
	at 
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:355)
	at 
org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:73)
	at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:80)
	at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:238)
	at 
org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:479)
	at 
org.apache.derby.jdbc.EmbedPooledConnection.openRealConnection(EmbedPooledConnection.java:171)
	at 
org.apache.derby.jdbc.EmbedPooledConnection.<init>(EmbedPooledConnection.java:113)
	at org.apache.derby.jdbc.Driver30.getNewPooledConnection(Driver30.java:141)
	at 
org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource.createPooledConnection(EmbeddedConnectionPoolDataSource.java:129)
	at 
org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource.getPooledConnection(EmbeddedConnectionPoolDataSource.java:75)
...

------------  END SHUTDOWN ERROR STACK -------------

-- 
Cheers,
David

Nuix Pty Ltd
Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280 0699
Web: http://www.nuix.com                            Fax: +61 2 9212 6902

Re: Repairing a corrupted database with invalid checksum on page

Posted by David Sitsky <si...@nuix.com>.
> I would suggest considering the creation of a recovery mode where the user
> has access to a simple interface (or command line) and the process is more
> automated and logged.

This would definitely be the best outcome.. as an end-user, being able
to launch something like ij in recovery mode, and to try and
interactively recover the database in a more structured fashion.

For my situation, I was somewhat desperate, so I was happy that even a
"quick hack" was at least possible to formulate.  I imagine until we
have a proper recovery tool, other similar desperate users would
probably be grateful for a "quick hack" assuming they have no other
choice..

--
Cheers,
David

Nuix Pty Ltd
Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280 0699
Web: http://www.nuix.com                            Fax: +61 2 9212 6902

RE: Repairing a corrupted database with invalid checksum on page

Posted by de...@segel.com.
All,
I would be hesitant in trying to make a 'solution' out of this fix.
For those IBMers who work in the lab, if they are heritage Informix support
people, this would be akin to making tbzero available to the general public.
(If you work in the 'Lab' but don't know what tbzero is, find someone who is
Informix Heritage...) I don't know if tbzero exists today, although because
7.3x exists, I think it still does. To those that don't work for IBM or
worked for Informix, it was a tool used by the support team to clean up a
similar nasty problem, hence the reason I mentioned it. The lesson learned
is that you don't want to allow a dangerous tool out in the open. 

I do agree that what David found was/is a problem. You have to consider that
if you're going to introduce a fix, you need to look at it from a systems or
overall architecture point of view.

I would suggest considering the creation of a recovery mode where the user
has access to a simple interface (or command line) and the process is more
automated and logged.

A corrupted index page? Ok that's easy to fix. A corrupted database page?
Not so easy to fix. You'll have a loss of data and you'll need to compare
the table with one from a previous back up and hope you can get back the
data. 

There's more to this problem and its not an *easy* fix. One would hope that
Sun/Oracle would still be supporting javaDB and Derby in the same manner
they support it today and work on strengthening Derby's resilience.


HTH

-Mike

> -----Original Message-----
> From: David Sitsky [mailto:sits@nuix.com]
> Sent: Monday, June 15, 2009 12:11 AM
> To: Derby Discussion
> Subject: Re: Repairing a corrupted database with invalid checksum on page
> 
> > Thank you for posting your solution.  I added a reference to this thread
> in:
> > https://issues.apache.org/jira/browse/DERBY-1648
> >
> > Perhaps you could post your patch there and hit the grant to apache
> button
> > in case someone wants to use it as the basis for an integrated solution.
> 
> Done.
> 
> --
> Cheers,
> David
> 
> Nuix Pty Ltd
> Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280 0699
> Web: http://www.nuix.com                            Fax: +61 2 9212 6902



Re: Repairing a corrupted database with invalid checksum on page

Posted by David Sitsky <si...@nuix.com>.
> Thank you for posting your solution.  I added a reference to this thread in:
> https://issues.apache.org/jira/browse/DERBY-1648
>
> Perhaps you could post your patch there and hit the grant to apache button
> in case someone wants to use it as the basis for an integrated solution.

Done.

--
Cheers,
David

Nuix Pty Ltd
Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280 0699
Web: http://www.nuix.com                            Fax: +61 2 9212 6902

Re: Repairing a corrupted database with invalid checksum on page

Posted by Kathey Marsden <km...@sbcglobal.net>.
David Sitsky wrote:
>
> I realise this is hackery, but would there be any benefit for a 
> polished version of this to go into the main code?  Sadly, corruption 
> is a fact of life, whether it is due to software or hardware (or 
> humans)..
>
Hi David,

Thank you for posting your solution.  I added a reference to this thread in:
https://issues.apache.org/jira/browse/DERBY-1648

Perhaps you could post your patch there and hit the grant to apache 
button in case someone wants to use it as the basis for an integrated 
solution.

Kathey



Re: Repairing a corrupted database with invalid checksum on page

Posted by David Sitsky <si...@nuix.com>.
Kathey Marsden wrote:
> Mike Matrigali wrote:
>> Then you could figure out how important container 1105
>> is.  The best case is if 1105 is an index then one need only drop the
>> index and recreate it.  From the conglomerate id I think it is an
>> index:
>>
> Once you get your database in a bootable state you can identify the 
> container with one of the following queries.

Hi Mike and Kathey,

Thank you very much for your helpful replies.  As suggested, I wrote a 
hacked version of Derby to ignore this page during the log redo phase.

The database booted up, and thankfully, the corrupted page was in an 
index, so I was able to drop it, and recreate it and now all is well.

For the record, I've attached the patch I made to Derby in case somebody 
else can benefit from it.  In this situation, I ran Derby's ij command with:

java -cp derby.jar;derbytools.jar 
-Dorg.apache.derby.skipPagesDuringRecovery=3586

The system property specifies a comma separated string of page IDs to 
ignore during the log redo phase.

I realise this is hackery, but would there be any benefit for a polished 
version of this to go into the main code?  Sadly, corruption is a fact 
of life, whether it is due to software or hardware (or humans)..

-- 
Cheers,
David

Nuix Pty Ltd
Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280 0699
Web: http://www.nuix.com                            Fax: +61 2 9212 6902

Re: Repairing a corrupted database with invalid checksum on page

Posted by Kathey Marsden <km...@sbcglobal.net>.
Mike Matrigali wrote:
> Then you could figure out how important container 1105
> is.  The best case is if 1105 is an index then one need only drop the
> index and recreate it.  From the conglomerate id I think it is an
> index:
>
Once you get your database in a bootable state you can identify the 
container with one of the following queries.

For index:
SELECT C.CONGLOMERATENUMBER, C.CONGLOMERATENAME FROM 
SYS.SYSCONGLOMERATES C WHERE CONGLOMERATENUMBER=1105;

For table:
SELECT C.CONGLOMERATENUMBER, T.TABLENAME FROM SYS.SYSCONGLOMERATES C, 
SYS.SYSTABLES T  WHERE C.CONGLOMERATENAME=T.TABLEID AND 
C.CONGLOMERATENUMBER=1105;


Make sure if you hack the server to get recovery to work that you are 
working with a copy of the corrupted database.

Kathey


Re: Repairing a corrupted database with invalid checksum on page

Posted by Mike Matrigali <mi...@sbcglobal.net>.
Unfortunately the problem you have is during redo recovery, so not only
is the page bad that you see in the log you don't have access to the
database to find out what else is bad.  Also since redo recovery is 
failing there is more work after that record that is not being done to
get your database back to a consistent state.

Do you have the ability to change/build derby source to produce your
own version?  If so I would try hacking in a change to redo recovery
to just skip this page in this container, and see if the rest of redo 
recovery works.  Then you would have a booted db that you could run the 
consistency
checker on.  Then you could figure out how important container 1105
is.  The best case is if 1105 is an index then one need only drop the
index and recreate it.  From the conglomerate id I think it is an
index:

* The conglomerate number has 2 parts.  The low 4 bits are used to
* encode the factory which "owns" the conglomerate.  The high 60 bits
* are used as a normal unique id mechanism.
* <p>
* So for example if the next id to assign is 0x54 the following will
* be the conglomid:
*     if a HEAP  (factory 0) - 0x540
*     if a BTREE (factory 1) - 0x541
*
* And the next id assigned will be:
*     if a HEAP  (factory 0) - 0x550
*     if a BTREE (factory 1) - 0x551


David Sitsky wrote:
> I have a customer (unfortunately with confidential data) who has a Derby 
> database with corruption.  I'm not sure of the details - somehow an 
> eSata disk was powered off, and perhaps it had write-caching enabled, 
> I'm not sure.
> 
> I've read on some Derby docs online that:
> 
> "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. Depending on the type of corruption this may
> be successful or not. one should consult the Derby list if attempting
> this recovery - no automatic software solution to this recovery exists."
> 
> So I guess that is what I am doing... I've included the error below as 
> to what the database has reported.  The customer has 7 other databases 
> on the same disk which is fine, so perhaps the corruption is limited.
> 
> Apart from using backups (which are unfortunately old), are there any 
> options to get this database back into any kind of shape?  The thought 
> of fixing the checksum on this page and praying for the best seems 
> dangerous.. but they don't have many other options..
> 
> Thanks for any advice.
> 
> ----------------------------------------------------------------
> 2009-06-09 02:04:52.245 GMT:
>  Booting Derby version The Apache Software Foundation - Apache Derby - 
> 10.4.1.3 - (exported): instance 40348015-0121-c2c2-c064-ffffafcf10ad
> on database directory 
> X:\Baulderstone\Stores\Complete-bea2c17c113d42519b6ff5aa5d9b0141\Stores\EvidenceDatabase 
> 
> 
> 
> ------------  BEGIN SHUTDOWN ERROR STACK -------------
> 
> ERROR XSDG2: Invalid checksum on Page Page(3586,Container(0, 1105)), 
> expected=1,077,491,282, on-disk version=1,792, page dump follows: Hex dump:
> 00000000: 0075 0000 0000 0000 0000 0000 0000 0000  .u..............
> 00000010: 0000 0006 0000 0000 0000 0000 0000 0000  ................
> 00000020: 0000 0000 0001 0000 0000 0000 0000 0000  ................
> 00000030: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000040: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000050: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000060: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000070: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000080: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000090: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000000a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000000b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000000c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000000d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000000e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000000f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000100: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000110: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000120: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000130: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000140: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000150: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000160: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000170: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000180: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000190: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000001a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000001b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000001c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000001d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000001e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000001f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000200: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000210: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000220: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000230: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000240: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000250: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000260: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000270: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000280: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000290: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000002a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000002b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000002c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000002d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000002e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000002f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000300: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000310: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000320: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000330: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000340: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000350: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000360: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000370: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000380: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000390: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000003a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000003b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000003c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000003d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000003e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000003f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000400: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000410: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000420: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000430: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000440: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000450: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000460: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000470: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000480: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000490: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000004a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000004b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000004c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000004d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000004e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000004f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000500: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000510: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000520: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000530: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000540: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000550: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000560: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000570: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000580: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000590: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000005a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000005b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000005c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000005d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000005e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000005f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000600: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000610: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000620: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000630: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000640: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000650: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000660: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000670: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000680: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000690: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000006a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000006b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000006c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000006d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000006e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000006f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000700: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000710: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000720: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000730: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000740: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000750: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000760: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000770: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000780: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000790: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000007a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000007b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000007c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000007d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000007e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000007f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000800: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000810: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000820: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000830: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000840: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000850: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000860: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000870: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000880: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000890: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000008a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000008b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000008c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000008d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000008e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000008f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000900: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000910: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000920: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000930: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000940: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000950: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000960: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000970: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000980: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000990: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000009a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000009b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000009c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000009d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000009e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 000009f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000a00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000a10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000a20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000a30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000a40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000a50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000a60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000a70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000a80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000a90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000aa0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ab0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ac0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ad0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ae0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000af0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000b00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000b10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000b20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000b30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000b40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000b50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000b60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000b70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000b80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000b90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ba0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000bb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000bc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000bd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000be0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000bf0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000c00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000c10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000c20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000c30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000c40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000c50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000c60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000c70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000c80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000c90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ca0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000cb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000cc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000cd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ce0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000cf0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000d00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000d10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000d20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000d30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000d40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000d50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000d60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000d70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000d80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000d90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000da0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000db0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000dc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000dd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000de0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000df0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000e00: 5253 5452 1e00 0900 0000 0000 0000 0000  RSTR............
> 00000e10: 0010 0000 0010 0000 3000 0100 0100 0700  ........0.......
> 00000e20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000e30: 1c1a 0002 0000 0000 0100 ffff 0000 0200  ................
> 00000e40: 2800 0000 e000 4000 0000 0004 0000 0000  ................
> 00000e50: 7000 0000 3000 4000 b081 9e63 0000 0000  p...0...???c....
> 00000e60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000e70: 111a 0002 0000 0000 1c1a 0002 0000 0000  ................
> 00000e80: ffff ffff 0000 0000 0000 0000 0800 0000  ................
> 00000e90: 4e00 5400 4600 5300 0000 0000 0000 0000  N.T.F.S.........
> 00000ea0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000eb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ec0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ed0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ee0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ef0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000f00: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000f10: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000f20: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000f30: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000f40: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000f50: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000f60: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000f70: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000f80: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000f90: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000fa0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000fb0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000fc0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000fd0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000fe0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
> 00000ff0: 0000 0000 0000 0000 0000 0000 0000 0700  ................
> 
>     at 
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:373) 
> 
>     at 
> org.apache.derby.impl.store.raw.data.StoredPage.validateChecksum(StoredPage.java:939) 
> 
>     at 
> org.apache.derby.impl.store.raw.data.StoredPage.initFromData(StoredPage.java:820) 
> 
>     at 
> org.apache.derby.impl.store.raw.data.CachedPage.setIdentity(CachedPage.java:210) 
> 
>     at 
> org.apache.derby.impl.services.cache.ConcurrentCache.find(ConcurrentCache.java:295) 
> 
>     at 
> org.apache.derby.impl.store.raw.data.FileContainer.getAnyPage(FileContainer.java:2507) 
> 
>     at 
> org.apache.derby.impl.store.raw.data.BaseContainer.getAnyPage(BaseContainer.java:496) 
> 
>     at 
> org.apache.derby.impl.store.raw.data.BaseContainerHandle.getAnyPage(BaseContainerHandle.java:611) 
> 
>     at 
> org.apache.derby.impl.store.raw.data.PageBasicOperation.findpage(PageBasicOperation.java:304) 
> 
>     at 
> org.apache.derby.impl.store.raw.data.PageBasicOperation.needsRedo(PageBasicOperation.java:160) 
> 
>     at 
> org.apache.derby.impl.store.raw.log.FileLogger.redo(FileLogger.java:1395)
>     at 
> org.apache.derby.impl.store.raw.log.LogToFile.recover(LogToFile.java:920)
>     at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:334)
>     at 
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999) 
> 
>     at 
> org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291) 
> 
>     at 
> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:553) 
> 
>     at 
> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427) 
> 
>     at 
> org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:1019) 
> 
>     at 
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999) 
> 
>     at 
> org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291) 
> 
>     at 
> org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:553) 
> 
>     at 
> org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:427) 
> 
>     at 
> org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:780)
>     at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:196)
>     at 
> org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999) 
> 
>     at 
> org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:291) 
> 
>     at 
> org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1836) 
> 
>     at 
> org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1702) 
> 
>     at 
> org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1531) 
> 
>     at 
> org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:1001) 
> 
>     at 
> org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:550) 
> 
>     at 
> org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:2416) 
> 
>     at 
> org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:355)
>     at 
> org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:73) 
> 
>     at 
> org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:80)
>     at 
> org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:238)
>     at 
> org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:479) 
> 
>     at 
> org.apache.derby.jdbc.EmbedPooledConnection.openRealConnection(EmbedPooledConnection.java:171) 
> 
>     at 
> org.apache.derby.jdbc.EmbedPooledConnection.<init>(EmbedPooledConnection.java:113) 
> 
>     at 
> org.apache.derby.jdbc.Driver30.getNewPooledConnection(Driver30.java:141)
>     at 
> org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource.createPooledConnection(EmbeddedConnectionPoolDataSource.java:129) 
> 
>     at 
> org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource.getPooledConnection(EmbeddedConnectionPoolDataSource.java:75) 
> 
> ...
> 
> ------------  END SHUTDOWN ERROR STACK -------------
>