Skip to Main Content

Berkeley DB Family

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Database corrupted according to DbVerify - next steps?

mgrandiMay 31 2016 — edited Jun 15 2016

Our database has been running fine for years, but a recent run of DbVerify says that it is somewhat corrupted, giving the same error on two different computers (after archiving the database and extracting it). This is also the master's copy of the database, I haven't checked any of the replica server's copy

[2016-05-31 13:02:31] markgrandi@Gypaetus:/Volumes/mgrandi_256SSD/security_service_data/bdb$ java -cp ~/.m2/repository/com/sleepycat/je/6.4.25/je-6.4.25.jar:/Users/markgrandi/Downloads/security-5.46.255.jar  com.sleepycat.je.util.DbVerify -h /Volumes/mgrandi_256SSD/security_service_data/bdb/ -s "persist#IntraData#com.examplecompany.security.model.entity.UnadjustedIntraDataPoint\$ArchiveUnadjustedIntraDataPoint"

Verifying database persist#IntraData#com.examplecompany.security.model.entity.UnadjustedIntraDataPoint$ArchiveUnadjustedIntraDataPoint

Checking tree for persist#IntraData#com.examplecompany.security.model.entity.UnadjustedIntraDataPoint$ArchiveUnadjustedIntraDataPoint

com.sleepycat.je.EnvironmentFailureException: (JE 6.4.25) fetchIN of null lsn parent IN=990103 IN class=com.sleepycat.je.tree.IN lastFullLsn=0xffffffff/0xffffffff lastLoggedLsn=0xffffffff/0xffffffff parent.getDirty()=false state=2 NULL_LSN in upper IN UNEXPECTED_STATE: Unexpected internal state, may have side effects.

    at com.sleepycat.je.EnvironmentFailureException.unexpectedState(EnvironmentFailureException.java:426)

    at com.sleepycat.je.tree.IN.fetchIN(IN.java:2612)

    at com.sleepycat.je.tree.Tree.getNextIN(Tree.java:1127)

    at com.sleepycat.je.tree.Tree.getNextBin(Tree.java:982)

    at com.sleepycat.je.dbi.CursorImpl.getNext(CursorImpl.java:2587)

    at com.sleepycat.je.dbi.DatabaseImpl.walkDatabaseTree(DatabaseImpl.java:1950)

    at com.sleepycat.je.dbi.DatabaseImpl.verify(DatabaseImpl.java:1899)

    at com.sleepycat.je.util.DbVerify.verifyOneDbImpl(DbVerify.java:413)

    at com.sleepycat.je.util.DbVerify.verify(DbVerify.java:327)

    at com.sleepycat.je.util.DbVerify.main(DbVerify.java:134)

Exit status = false

Looking over the documentation, it doesn't list much about what happens in this case. Is this a JE problem? Should i rebuild the database by using the DbDump and DbLoad utilities? Will this eventually fix itself if the log file gets merged into another log file? I am also concerned about actual data being corrupted as well, and or what happens if it tries to read the data that is near the corrupted section and if it will take our entire application down with it. Any advice would be appreciated!

Comments

796440
At the very least, you need to read this and follow the advice it gives. That may or may not solve your problem, but it's a bare minimum.

http://www.javaworld.com/jw-12-2000/jw-1229-traps.html
1 - 1
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jul 13 2016
Added on May 31 2016
7 comments
1,886 views