Согласованность файлов C-ISAM - PullRequest
2 голосов
/ 24 декабря 2010

INFORMIX-SE 4.10.DD6: Кажется, у меня возникают ложные проблемы, такие как отсутствие указателей на файлы C-ISAM в моей базе данных SE.Когда я делаю 'bcheck -y FILE_123', он говорит, что перестроил индексы и исправил проблему, но когда я снова запускаю bcheck для него, он повторяет те же сообщения об ошибках и говорит, что исправил, но это не так!Я знаю, что это неподдерживаемая / устаревшая версия SE, но если вы можете подумать о любой другой альтернативе исправлению этой ошибки, кроме выгрузки / отбрасывания таблицы / повторного создания и загрузки обратно, я был бы признателен за любую помощь.Когда я использовал SE 2.10.06, bcheck работал нормально, но после перехода на 4.10 файлы C-ISAM и bcheck были проблематичными.

1 Ответ

1 голос
/ 24 декабря 2010

Есть старая хитрость:

  • Создайте новую таблицу с такой же структурой индекса, что и у таблицы, которая создает проблемы.
  • Скопируйте (почти пустой) индексный файл для новой таблицы поверх индексного файла старой.
  • Rerun bcheck.

Конечно, вы принимаете меры предосторожности:

  • Вы создаете новую таблицу.
  • Вы куда-то копируете файл с данными проблемного индекса.
  • Вы копируете новый индексный файл рядом с ним.
  • Запустите bcheck для новых копий.
  • Перезапустите bcheck для восстановленного файла.
  • Копировать содержимое поверх копии базы данных, только если все выглядит нормально.
...