Hi,
This looks like a corrupt database. I am very interested in analyzing and
solving this problem. Corruption problems have top priority for me. I have
a few questions:
- What does the database event listener do?
- Did the system ever run out of disk space?
- Did you (ever) use LOG=0 or LOG=1? (that's quite important)
- Did you use SHUTDOWN DEFRAG or the database setting DEFRAG_ALWAYS with H2
version 1.3.159 or older?
- Do you use any settings or special features (for example cache settings,
two phase commit, linked tables)?
- Do you use any H2-specific system properties?
- Is it (or was it at some point) a networked file system?
- Is the database _usually_ closed normally, or is process terminated
forcefully or the computer switched off?
- Could you send the .h2.db file where this exception occurs?
Regards,
Thomas
On Monday, November 7, 2011, Simon S. wrote:
> Hi,
>
> our application throws the following error on connecting the database:
>
> org.h2.jdbc.JdbcSQLException: Datei fehlerhaft beim Lesen des
> Datensatzes: "84358 of 84156". Mögliche Lösung: Recovery Werkzeug
> verwenden
> File corrupted while reading record: "84358 of 84156". Possible
> solution: use the recovery tool [90030-154]
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:
> 327)
> at org.h2.message.DbException.get(DbException.java:167)
> at org.h2.message.DbException.get(DbException.java:144)
> at org.h2.store.PageStore.readPage(PageStore.java:1240)
> at org.h2.store.PageStore.getPage(PageStore.java:701)
> at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:222)
> at org.h2.index.PageDataNode.getLastKey(PageDataNode.java:208)
> at org.h2.index.PageDataIndex.<init>(PageDataIndex.java:81)
> at org.h2.table.RegularTable.<init>(RegularTable.java:92)
> at org.h2.store.PageStore.addMeta(PageStore.java:1583)
> at org.h2.store.PageStore.readMetaData(PageStore.java:1515)
> at org.h2.store.PageStore.recover(PageStore.java:1319)
> at org.h2.store.PageStore.openExisting(PageStore.java:349)
> at org.h2.store.PageStore.open(PageStore.java:273)
> at org.h2.engine.Database.getPageStore(Database.java:2022)
> at org.h2.engine.Database.open(Database.java:547)
> at org.h2.engine.Database.openDatabase(Database.java:218)
> at org.h2.engine.Database.<init>(Database.java:213)
> at org.h2.engine.Engine.openSession(Engine.java:56)
> at org.h2.engine.Engine.openSession(Engine.java:159)
> at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138)
> at org.h2.engine.Engine.createSession(Engine.java:121)
> at org.h2.engine.Engine.createSession(Engine.java:28)
> at
> org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:
> 285)
> at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:114)
> at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:98)
> at org.h2.Driver.connect(Driver.java:72)
> at java.sql.DriverManager.getConnection(Unknown Source)
> at java.sql.DriverManager.getConnection(Unknown Source)
> ...
>
> Some informations about the client pc:
> - database version is 1.3.154
> - database was created with version 1.3.154
> - connection url: jdbc:h2:c:\lm\\data_h2db
>
> \lm;DATABASE_EVENT_LISTENER='lm.db.H2EventListenerImpl';TRACE_LEVEL_SYSTEM_OUT=1;TRACE_LEVEL_FILE=1
> - System: Windows XP, 5.1, x86
> - java.version: 1.6.0_01
> - there is no trace.db file, there is only the lm.h2.db file
> - in our applications logfile i see that the database connection has
> been closed successfully the day before
> - the application starts with -Xmx256M
> - the lm.h2.db file has a size of about 170MB
> - the application did no run out of memory
> - i think LOG is 2
> - no temporary tables
> - it is a java swing application. On application start the application
> tries to connect to the embedded h2 database. If the application can't
> connect (e.g. there is already a active database connection because
> application is already running) the application exits.
> - i can't reproduce the problem with a fresh database on my
> development pc
>
> Recovering the database is not the problem, because our application
> synchronizes the data from the central erp software.
>
> Our application is installed on 100 or more client PCs/notebooks. We
> have some other clients with similar errors and somtiems older
> database version.
>
> --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To post to this group, send email to
> [email protected]<javascript:;>
> .
> To unsubscribe from this group, send email to
> [email protected] <javascript:;>.
> For more options, visit this group at
> http://groups.google.com/group/h2-database?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/h2-database?hl=en.