Ошибка xrf-offset-mismatch при диагностике MST/XRF


НАЧАЛО >> Руководство пользователя >> Диагностика состояния БД >> Ошибка xrf-offset-mismatch при диагностике MST/XRF📄 Скачать в DOCX


Сообщение вида xrf-offset-mismatch; XRF offset differs from MST offset; MFN=4824; MST=50556773, XRF=8 означает, что фактическое смещение записи в MST не совпадает со смещением, записанным в XRF.

В примере диагностика нашла запись MFN=4824 в MST по адресу 50556773, но XRF для этого MFN содержит адрес 8. Значит карта MFN -> MST offset повреждена или устарела.

1. Почему это опасно

XRF используется для быстрого доступа к записи по MFN. Если XRF указывает на неправильное смещение, чтение записи может попасть в чужую запись, в служебную область MST или в некорректный участок файла. Это может приводить к ошибкам чтения, неверному экспорту, неверной диагностике и ошибкам при актуализации словаря.

2. Что проверить

Перед исправлением сделайте резервную копию БД или выполните проверку на тестовой копии.

В окне Управление БД выполните:

  1. Состояние -> Диагностика MST/XRF для подтверждения расхождений между MST и XRF.
  2. Состояние -> Диагностика MFN... для проверки, не указывает ли XRF на чужой MST-лидер.

Если ошибок много, проверьте историю аварийного завершения записи, восстановления БД, ручного копирования отдельных файлов .mst/.xrf или одновременного доступа к БД вне штатного механизма блокировок.

3. Как исправить

В окне Управление БД запустите Состояние -> Исправить XRF по MST....

Операция соответствует исправляющему режиму DiagMstXrf и меняет только XRF:

После исправления повторите Диагностика MST/XRF и Диагностика MFN.... Если ошибка исчезла, XRF восстановлен.

4. Что делать после исправления

Если были исправлены XRF-ссылки, выполните актуализацию словаря или пересоздание словаря по правилам эксплуатации вашей БД, потому что исправленные записи помечаются как неактуализированные.

Если диагностика сообщает, что запись не найдена в MST, а она должна существовать, это уже восстановление данных. В этом случае восстановите запись или всю БД из резервной копии и повторите диагностику.