recovery tool issues

437 views
Skip to first unread message

naseh

unread,
Jul 10, 2012, 12:35:26 AM7/10/12
to h2-da...@googlegroups.com
i have a corrupted File (due to power cutoff), using the recovery tool results in many exceptions:
Error: java.lang.NegativeArraySizeException
Error: java.lang.ArrayIndexOutOfBoundsException: 2048
Error: org.h2.message.DbException: IO Exception: "java.io.EOFException"; "C:/Program Files/app/lib/db.h2.db" [90031-163]
Error: java.lang.ArrayIndexOutOfBoundsException: 2048
Error: java.lang.NegativeArraySizeException
......


i tried RunScript with the created file and it results with:

Exception in thread "main" org.h2.jdbc.JdbcSQLException: Column count does not match; SQL statement:

-- ERROR: exception org.h2.message.DbException: File corrupted while reading record: "type: 202". Possible solution: use the recovery tool [90030-163] block: 0 storageId: 46 recordLength: 5 valueId: 4
-- dump: ....
INSERT INTO O_46 VALUES(STRINGDECODE('\u0654q8\u02ac-xM/\u07e0\u7900\u04d7'), X'30d9441622ef', 2, NULL) [21002-163]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
    at org.h2.message.DbException.get(DbException.java:169)
    at org.h2.message.DbException.get(DbException.java:146)
    at org.h2.message.DbException.get(DbException.java:135)
    at org.h2.command.dml.Insert.prepare(Insert.java:226)
    at org.h2.command.Parser.prepareCommand(Parser.java:218)
    at org.h2.engine.Session.prepareLocal(Session.java:415)
    at org.h2.engine.Session.prepareCommand(Session.java:364)
    at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1121)
    at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:164)
    at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:152)
    at org.h2.tools.RunScript.process(RunScript.java:253)
    at org.h2.tools.RunScript.process(RunScript.java:186)
    at org.h2.tools.RunScript.process(RunScript.java:317)
    at org.h2.tools.RunScript.runTool(RunScript.java:140)
    at org.h2.tools.RunScript.main(RunScript.java:68)




Any hint is appreciated

Thomas Mueller

unread,
Jul 10, 2012, 2:42:34 AM7/10/12
to h2-da...@googlegroups.com
Hi,

It looks like you need to manually remove this insert statement.

Could you tell me what operating system and file system you used? What is the database URL, and which version was the database created with (to find out, you can search for "CREATE_BUILD" in the .h2.sql file)?

Regards,
Thomas

--
You received this message because you are subscribed to the Google Groups "H2 Database" group.
To view this discussion on the web visit https://groups.google.com/d/msg/h2-database/-/sOzYvlZ_9wcJ.
To post to this group, send email to h2-da...@googlegroups.com.
To unsubscribe from this group, send email to h2-database...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/h2-database?hl=en.

naseh

unread,
Jul 10, 2012, 3:20:52 AM7/10/12
to h2-da...@googlegroups.com
Hi,

Windows 7, NTFS, H2_1.3.163, I'm using:

java -cp h2.jar org.h2.tools.Recover
java -cp h2.jar org.h2.tools.RunScript -url jdbc:h2:db -user ?? -password ?? -script db.h2.sql
To unsubscribe from this group, send email to h2-database+unsubscribe@googlegroups.com.

naseh

unread,
Jul 10, 2012, 3:34:54 AM7/10/12
to h2-da...@googlegroups.com
sorry CREATE_BUILD 158;
im using H2_1.3.163 for the recover
Reply all
Reply to author
Forward
0 new messages