Suddenly, I found the following error in one of my Table when I query something:
005 Corrupt block header at 0xb50795f60 in KDBF file DB-path/files1_1_0.blb in the function read_head
005 Corrupt block header at 0xb50795f60 in KDBF file DB-path/files1_1_0.blb in the function read_head
After doing "kdbfchk" for the mentioned(files1_1_0.blb) index, I got free tree error.
Can you please suggest me, if deleting the indexes and rebuilding them will help?
The error is in a blob file, which is part of the table, not the index, so rebuilding indexes will not help this issue. However, I'd rebuild them anyway, as whatever caused this KDBF error may have also corrupted indexes as well.
The free-tree error is a side effect of kdbfchk: it cannot reconstruct the free-tree currently, so any free space in the table/blob file is orphaned and lost. It will not cause any problems, just take up disk space. It can be recovered by rebuilding the table, e.g. `create table NewTable as select * from OldTable'.
Multibyte chars would not cause KDBF errors; they might cause searches not to find the right term, or possibly other search errors referring to "post-processing".
When you ran kdbfchk, did you use the -o option to write a new repaired file, then replace it? E.g. stop all activity on the database, then:
No I did not do that, Just now I have dropped this table and its indexes and rebuilt them. Now, new data would be populated into this table in few hours.
If we again face this issue, I will do whatever is being suggested by you to repair.