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?
Any hope of recovering a Database Checksum error
Moderators: TerryRogers, Max
-
- Site Admin
- Posts: 15603
- Joined: Thu Nov 25, 2004 3:12 am
- Has thanked: 1412 times
- Been thanked: 984 times
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!
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
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
-
- Site Admin
- Posts: 15603
- Joined: Thu Nov 25, 2004 3:12 am
- Has thanked: 1412 times
- Been thanked: 984 times
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.
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!