db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Sitsky <s...@nuix.com.au>
Subject Re: SQLSTATE: XSDG0Page Page(7,Container(0, 848)) could not be read from disk.
Date Tue, 10 Oct 2006 03:57:56 GMT
Hi Mike,

As promised, I have spoken with the client, and have some more 
interesting data.

At the end of my message, are the contents of the derby.log file, which 
seem to indicate that perhaps the seg0/c350.dat file has been truncated 
somehow, due to the EOFException being thrown?

For what its worth, the size of the seg0/c350.dat file is 12288 bytes. 
I've included the directory listing of the database files in this 
message in case there is any useful information here.

What is interesting, is I get the same error messages if I try and open 
the database with release 10.1.1.0 and 10.1.3.1.  I tried opening it 
with 10.2.1.6, and the database can be opened fine (no errors reported 
in derby.log).

This database contains three tables, one with just a few rows, which has 
been preserved, but the other two tables, according to the client, 
should have just over 500 rows each.  I am only seeing 154 and 159 rows 
in them.

I tried running SYSCS_UTIL.SYSCS_CHECK_TABLE on the tables with 
10.2.1.6, but they all returned 1 as a result.

Any ideas on what can be done here to try and recover more data?  Many 
thanks again for your help.

Cheers,
David

Contents of derby.log:

----------------------------------------------------------------
2006-10-10 01:12:20.250 GMT:
  Booting Derby version The Apache Software Foundation - Apache Derby - 
10.1.1.0 - (exported): instance c013800d-010e-2fc6-fd20-000042d2819b
on database directory C:\work\........


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

ERROR XSLA7: Cannot redo operation Page Operation: Page(7,Container(0, 
848)) pageVersion 64 : Insert :  Slot=62 recordId=68 in the log.
	at 
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:315)
	at 
org.apache.derby.impl.store.raw.log.FileLogger.redo(FileLogger.java:1515)
	at 
org.apache.derby.impl.store.raw.log.LogToFile.recover(LogToFile.java:798)
	at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:323)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1987)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:539)
	at 
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
	at 
org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:994)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1987)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:539)
	at 
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
	at org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:757)
	at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:178)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1987)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1526)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:996)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:988)
	at 
org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:533)
	at 
org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
	at 
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
	at 
org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
	at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
	at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
	at java.sql.DriverManager.getConnection(DriverManager.java:525)
	at java.sql.DriverManager.getConnection(DriverManager.java:193)
         at ...
============= begin nested exception, level (1) ===========
ERROR XSDG0: Page Page(7,Container(0, 848)) could not be read from disk.
	at 
org.apache.derby.iapi.error.StandardException.newException(StandardException.java:326)
	at 
org.apache.derby.impl.store.raw.data.CachedPage.readPage(CachedPage.java:563)
	at 
org.apache.derby.impl.store.raw.data.CachedPage.setIdentity(CachedPage.java:184)
	at 
org.apache.derby.impl.services.cache.CachedItem.takeOnIdentity(CachedItem.java:235)
	at org.apache.derby.impl.services.cache.Clock.addEntry(Clock.java:798)
	at org.apache.derby.impl.services.cache.Clock.find(Clock.java:303)
	at 
org.apache.derby.impl.store.raw.data.FileContainer.getAnyPage(FileContainer.java:2437)
	at 
org.apache.derby.impl.store.raw.data.BaseContainer.getAnyPage(BaseContainer.java:473)
	at 
org.apache.derby.impl.store.raw.data.BaseContainerHandle.getAnyPage(BaseContainerHandle.java:590)
	at 
org.apache.derby.impl.store.raw.data.PageBasicOperation.findpage(PageBasicOperation.java:303)
	at 
org.apache.derby.impl.store.raw.data.PageBasicOperation.needsRedo(PageBasicOperation.java:159)
	at 
org.apache.derby.impl.store.raw.log.FileLogger.redo(FileLogger.java:1394)
	at 
org.apache.derby.impl.store.raw.log.LogToFile.recover(LogToFile.java:798)
	at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:323)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1987)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:539)
	at 
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
	at 
org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:994)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1987)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:539)
	at 
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
	at org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:757)
	at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:178)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1987)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1526)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:996)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:988)
	at 
org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:533)
	at 
org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
	at 
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
	at 
org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
	at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
	at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
	at java.sql.DriverManager.getConnection(DriverManager.java:525)
	at java.sql.DriverManager.getConnection(DriverManager.java:193)
         at ...
============= end nested exception, level (1) ===========
============= begin nested exception, level (2) ===========
java.io.EOFException
	at java.io.RandomAccessFile.readFully(RandomAccessFile.java:373)
	at 
org.apache.derby.impl.store.raw.data.RAFContainer.readPage(RAFContainer.java:201)
	at 
org.apache.derby.impl.store.raw.data.CachedPage.readPage(CachedPage.java:550)
	at 
org.apache.derby.impl.store.raw.data.CachedPage.setIdentity(CachedPage.java:184)
	at 
org.apache.derby.impl.services.cache.CachedItem.takeOnIdentity(CachedItem.java:235)
	at org.apache.derby.impl.services.cache.Clock.addEntry(Clock.java:798)
	at org.apache.derby.impl.services.cache.Clock.find(Clock.java:303)
	at 
org.apache.derby.impl.store.raw.data.FileContainer.getAnyPage(FileContainer.java:2437)
	at 
org.apache.derby.impl.store.raw.data.BaseContainer.getAnyPage(BaseContainer.java:473)
	at 
org.apache.derby.impl.store.raw.data.BaseContainerHandle.getAnyPage(BaseContainerHandle.java:590)
	at 
org.apache.derby.impl.store.raw.data.PageBasicOperation.findpage(PageBasicOperation.java:303)
	at 
org.apache.derby.impl.store.raw.data.PageBasicOperation.needsRedo(PageBasicOperation.java:159)
	at 
org.apache.derby.impl.store.raw.log.FileLogger.redo(FileLogger.java:1394)
	at 
org.apache.derby.impl.store.raw.log.LogToFile.recover(LogToFile.java:798)
	at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:323)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1987)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:539)
	at 
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
	at 
org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:994)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1987)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:539)
	at 
org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
	at org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:757)
	at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:178)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1987)
	at 
org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1834)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1700)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1526)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:996)
	at 
org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:988)
	at 
org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:533)
	at 
org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1551)
	at 
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:196)
	at 
org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:72)
	at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
	at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:183)
	at java.sql.DriverManager.getConnection(DriverManager.java:525)
	at java.sql.DriverManager.getConnection(DriverManager.java:193)
         at ...
============= end nested exception, level (2) ===========


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


2006-10-10 01:12:22.640 GMT:
Shutting down instance c013800d-010e-2fc6-fd20-000042d2819b
----------------------------------------------------------------

Contents of seg0:

16/08/2006  11:08a               8,192 c10.dat
16/08/2006  11:08a               8,192 c101.dat
16/08/2006  11:08a               8,192 c111.dat
16/08/2006  11:08a               8,192 c121.dat
16/08/2006  11:08a               8,192 c130.dat
16/08/2006  11:08a               8,192 c141.dat
16/08/2006  11:08a               8,192 c150.dat
16/08/2006  11:08a               8,192 c161.dat
16/08/2006  11:08a               8,192 c171.dat
16/08/2006  11:08a              24,576 c180.dat
16/08/2006  11:08a               8,192 c191.dat
16/08/2006  11:08a               8,192 c1a1.dat
16/08/2006  11:08a               8,192 c1b1.dat
16/08/2006  11:08a               8,192 c1c0.dat
16/08/2006  11:08a               8,192 c1d1.dat
16/08/2006  11:08a               8,192 c1e0.dat
16/08/2006  11:08a               8,192 c1f1.dat
16/08/2006  11:08a              24,576 c20.dat
16/08/2006  11:08a               8,192 c200.dat
16/08/2006  11:08a               8,192 c211.dat
16/08/2006  11:08a               8,192 c221.dat
16/08/2006  11:08a             151,552 c230.dat
16/08/2006  11:08a               8,192 c241.dat
16/08/2006  11:08a              12,288 c251.dat
16/08/2006  11:08a               8,192 c260.dat
16/08/2006  11:08a               8,192 c271.dat
16/08/2006  11:08a               8,192 c281.dat
16/08/2006  11:08a               8,192 c290.dat
16/08/2006  11:08a               8,192 c2a1.dat
16/08/2006  11:08a               8,192 c2b1.dat
16/08/2006  11:08a               8,192 c2c1.dat
16/08/2006  11:08a               8,192 c2d0.dat
16/08/2006  11:08a               8,192 c2e1.dat
16/08/2006  11:08a               8,192 c2f0.dat
07/09/2006  10:48a              12,288 c300.dat
16/08/2006  11:08a               8,192 c31.dat
18/09/2006  04:55p              16,384 c311.dat
22/08/2006  03:13p               8,192 c320.dat
22/08/2006  03:13p               8,192 c331.dat
22/08/2006  03:13p               8,192 c341.dat
22/08/2006  03:13p              12,288 c350.dat
12/09/2006  01:25p              20,480 c361.dat
22/08/2006  03:13p              65,536 c370.dat
22/08/2006  03:13p              16,384 c381.dat
22/08/2006  03:13p               8,192 c391.dat
12/09/2006  12:33p              16,384 c3a1.dat
25/09/2006  03:42p             294,912 c3b0.dat
19/09/2006  12:32p              32,768 c3c1.dat
19/09/2006  04:16p              69,632 c3d1.dat
12/09/2006  01:23p              36,864 c3e1.dat
25/09/2006  02:56p              69,632 c3f1.dat
16/08/2006  11:08a              20,480 c41.dat
16/08/2006  11:08a               8,192 c51.dat
16/08/2006  11:08a               8,192 c60.dat
16/08/2006  11:08a               8,192 c71.dat
16/08/2006  11:08a               8,192 c81.dat
22/08/2006  04:20p              20,480 c90.dat
16/08/2006  11:08a              20,480 ca1.dat
16/08/2006  11:08a               8,192 cb1.dat
16/08/2006  11:08a               8,192 cc0.dat
16/08/2006  11:08a               8,192 cd1.dat
16/08/2006  11:08a               8,192 ce1.dat
16/08/2006  11:08a               8,192 cf0.dat

Contents of log:

10/10/2006  10:26a                  48 log.ctrl
12/09/2006  02:31p           1,048,752 log1.dat
26/09/2006  08:22p           1,048,576 log2.dat
28/09/2006  06:23p           1,049,141 log3.dat
03/10/2006  02:04p           1,048,576 log4.dat
10/10/2006  10:26a                  48 logmirror.ctrl

Mike Matrigali wrote:
> There may or may not be more information in the derby.log.  Are you 
> getting any disk errors, does the file seg0/c350.dat exist and have 
> reasonable permissions.  My guess (but there really is not enough
> info here) is that recovery is trying to access page 7 of container 848 
> (seg0/c350.dat), and for some reason it can't.  Those reasons could be
> that the file does not exist/bad permission, disk error reading that
> sector, file is not that long.
> 
> What derby version are you using?
> 
> 
> 
> David Sitsky wrote:
>> Hi,
>>
>> we have a client using a derby database, sometimes accessed in 
>> networked mode, and sometimes as an embedded database.  It can no 
>> longer be opened successfully, as Derby is now returning the following 
>> messages when the database is being opened:
>>
>> DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ040, SQLERRMC: Failed to 
>> start database '...', see the next exception for details.
>>
>> SQLSTATE: XSDG0Page Page(7,Container(0, 848)) could not be read from 
>> disk.
>>
>> Is this a sign that the database has been corrupted, or is there 
>> another issue here?  Is there anything which can be done about this?
>>


-- 
Cheers,
David

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

This message is intended only for the named recipient. If you are not
the intended recipient you are notified that disclosing, copying,
distributing or taking any action in reliance on the contents of this
message or attachment is strictly prohibited.

Mime
View raw message