![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I use Berkeley DB in hp-unix.After i kill the application (like:kill -9 ××).When restart it.It will open an Env and do some rcover.But some time when i open the env. Berkeley DB's lib will ouput "__db.register:file contents corrupted".What make this happen?(why it say contents corrupted)? ps:When remove the __db.register file.It will run ok! please help me!! |
#3
| |||
| |||
|
|
demon_32 (AT) 163 (DOT) com wrote: I use Berkeley DB in hp-unix.After i kill the application (like:kill -9 ××).When restart it.It will open an Env and do some rcover.But some time when i open the env. Berkeley DB's lib will ouput "__db.register:file contents corrupted".What make this happen?(why it say contents corrupted)? ps:When remove the __db.register file.It will run ok! please help me!! In reviewing the Berkeley DB DB_REGISTER code, I think it's possible for the registry file to become corrupted, and the DB_REGISTER code to then return an error to the application, as you described. This cannot cause data corruption or any other kind of hard failure, the worst that can happen is for the application to be locked out of the database environment. Generally, I don't expect this to happen often, it requires the operating system deliver the signal or failure in the middle of a write system call, which isn't likely to happen. The workaround will be to remove the __db.register file, which will force recovery to be run by the next process in the application to attempt to open a DbEnv handle. We are tracking this problem in our Support Request #14998. I'm happy to send you a patch for the problem if you would like. Thank you for reporting this failure to us! Regards, --keith =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Keith Bostic Oracle Corporation keith.bostic (AT) oracle (DOT) com keithbosticim (Yahoo IM) |
![]() |
| Thread Tools | |
| Display Modes | |
| |