Any hope of recovering a Database Checksum error

Support related problems and questions

Moderators: TerryRogers, Max

Post Reply
smatpit
Posts: 2
Joined: Wed Jul 30, 2008 9:34 pm

Any hope of recovering a Database Checksum error

Post by smatpit »

My EssentialPIM / EPIM Synchronizer / HotSync version: 2.57
My EssentialPIM edition: EssentialPIM Free

When I try to open my database, I get a check sum error:

Database file appears corrupt(). Bad checksum. Checksum error on database page 502".

And I have no access to any part of my data.

Is it possible to recover notes and to-do items from this?
admin
Site Admin
Posts: 15603
Joined: Thu Nov 25, 2004 3:12 am
Has thanked: 1412 times
Been thanked: 984 times

Post by admin »

It's probably possible but it should be done manually by us. The easiest and fastest way to recover your data would be to utilize one of the database backup files that the program created. They are located in the same folder your initial database file is.
Android version of EssentialPIM. Keep all your data in sync!
smatpit
Posts: 2
Joined: Wed Jul 30, 2008 9:34 pm

Post by smatpit »

I have the same error with the most recent backup file.
Unfortunately there are some important notes made since the last good database.

So what do i need to do to get this fixed?
d888sp4
Posts: 4
Joined: Mon Jul 07, 2008 12:57 pm

Post by d888sp4 »

Firebird comes with an utility to repair databases, called GFIX.
Corruption can happen for various reasons, you can find a list of them at http://www.ibaid.
com/interbase/firebird/corruption/guide.html.
Gfix accepts some command line parameters:
-f Option used with –v to check all fragments of records
-i Ignore checksum errors
-m Mark damaged records as unavailable, will be deleted at next
backup/restore
-n Used with –v for read only validation without error correction
-pas Set password used to connect
-user Set username used to connect
-v Database validation
-m Write mode for database (read or read write)
-w(sync/async) Turn on or off forced writes (sync turns forced writes on FW ON,
async to turn off forced writes FW OFF)
So a tipical command could be:
gfix –v –full –user SYSDBA –pass masterkey employee.gdb
In order to repair a database, after executing gfix you’ll have to backup and restore il, the
sequence of commands is something like:
This will show all errors:
gfix –v –full employee.gdb –user SYSDBA – pass masterkey
This will mark all corrupted rows for deletion:
gfix –mend –user SYSDBA –pass masterkey employee.gdb
Now you are ready to backup the corrupted database:
gbak –b –v -ig –user SYSDBA –pass masterkey employee.gdb employee.gbk
And if backup is successful you can now restore it:
gbak –c –user SYSDBA –pass masterkey employee.gbk new_employee.gdb
admin
Site Admin
Posts: 15603
Joined: Thu Nov 25, 2004 3:12 am
Has thanked: 1412 times
Been thanked: 984 times

Post by admin »

d888sp4, thanks :)

smatpit, if're you still unable to recover your database after performing some tricks from what d888sp4 posted, feel free to mail it to us at epimsupport[at]essentialpim.com.
Android version of EssentialPIM. Keep all your data in sync!
Post Reply