Re: one row in innodb corrupt
Posted by: Oli Sennhauser
Date: August 10, 2011 08:11AM
You got somehow a corrupted InnoDB data, InnoDB does not handle this and just crashes itself. That happens for several reasons (Bug, CPU, RAM or disk corruption, etc.).
As you found correctly innodb_force_recovery could help you.
The error log mentions there is something wrong with the UNDO log:
InnoDB: Error: trying to access update undo rec field 26 in index PRIMARY of table zarafa/hierarchy
InnoDB: but index has only 9 fields
InnoDB: Error: trying to access update undo rec for table zarafa/hierarchy
InnoDB: but the table id in the undo record is wrong
Have you considered to use innodb_force_recovery with 5 or even 6?
"Do not look at undo logs when starting the database: InnoDB treats even incomplete transactions as committed."
The only way to get rid of this problem IMHO is to dump, drop and recreate the table and load the data again. In worst case you have to dump even the whole database!
If it is just this single row then I would live with it. If you cannot live without this row the InnoDB Recovery tools might help you recovering this row.
If it is this row and everything above our row_extractor script could be of help as well.
You are running on a very old (5.0.26) release. An upgrade could possibly help as well.
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.