Re: Corrupt index in On-Line
Posted in 1994
Gene Dershewitz (geneder@teleport.com) wrote: : I have an Online 4.00 system running under SCO Unix that has an index problem. : During an update of a single column in a table, the system ran out of locks. : This update was done from ISQL without locking the table exclusively (due to a : serious lapse in my memory of what could happen). The following error was : reported: : 245: Could not position within a file via an index. : 103: ISAM error: illegal key descriptor (too many parts or too long) : I ran tbcheck -ci on the table and it reported a problem with the index but : could not fix it. When this has happened in the past (infrequently), I have : resorted to unloading the table data, dropping the table, recreating the : table, turning off logging, reloading the data, backing up the database and : turning on logging. Unforturnately this table is many MB and over 600K : records and the process ends up costing system downtime. : I guess my question is: Is there a way to fix this corruption without : resorting to unloading data and rebuilding??? Please let me know if you have : any magical helpful hints. I know I will be raising (substantially) the : number of locks on the system. One cure is to drop all indexes, do a TBUNLOAD to a file or to tape, and re- build your indexes, this ib far the fastest way to restore your data. Be careful of your exent sizes and which dbspace you want to reload your data to. TBUNLOAD does not take into account extent sizes. If you want to reload your data into one extent, alter the next extent size to a rather large number, do the TBUNLOAD and TBLOAD and then immediately correct the next size.