Регистрация

SYSTEM ERROR: Invalid recid

Обсуждение вопросов по администрированию СУБД Progress OpenEdge
Новичок
Сообщения: 7
Зарегистрирован: Пт сен 07, 2012 7:00 am

SYSTEM ERROR: Invalid recid

Сообщение SergeSV » Пт апр 11, 2014 4:09 pm

Добрый день!

Сегодня при просмотре логов базы обнаружил такое сообщение
SYSTEM ERROR: Invalid recid in index 1028 on file 84. Entry ignored.

Подскажите куда копать (как определить таблицу и индекс)?

Сейчас на базе запустил idxcheck, жду результатов.

OpenEdge Release 10.2B0723

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: SYSTEM ERROR: Invalid recid

Сообщение Arelav » Пт апр 11, 2014 5:11 pm

Узнать название таблицы:

Код: Выделить всё
FOR EACH _file WHERE _file-num = 84 no-lock.
DISPL _file-name.
END.


Узнать имя индекса:
Код: Выделить всё
FOR EACH _index WHERE _idx-num = 1028 NO-LOCK.
DISPL  _index-name.
END.


Ну а потом просто переиндексировать проблемный индекс.

Но idxcheck это тоже неплохо, заодно всё сразу проверится.

Новичок
Сообщения: 7
Зарегистрирован: Пт сен 07, 2012 7:00 am

Re: SYSTEM ERROR: Invalid recid

Сообщение SergeSV » Пт апр 11, 2014 5:20 pm

Спасибо.
Результаты - получил имя таблицы, посмотрю на нее, а вот имя индекса выдало _AreaExtent-Area. Что странно.
IdxCheck все еще в процессе, оставлю его работать на выходные.

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re: SYSTEM ERROR: Invalid recid

Сообщение George » Пт апр 11, 2014 10:24 pm

Opening a query based on zero, negative or unknown RECID or ROWID values generates error (18) in the database log file.
http://knowledgebase.progress.com/artic ... le/P12127/

Новичок
Сообщения: 7
Зарегистрирован: Пт сен 07, 2012 7:00 am

Re: SYSTEM ERROR: Invalid recid

Сообщение SergeSV » Сб апр 12, 2014 1:31 pm

Я так понимаю, только текстовый передамп таблицы с такой записью спасет положение?

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re: SYSTEM ERROR: Invalid recid

Сообщение George » Сб апр 12, 2014 7:45 pm

Я сомневаюсь, что ошибка вызвана повреждением в какой-либо записи этой таблицы или её индекса. Статья из knowledgebase говорит о том, что ошибка может быть вызвана кодом приложения.

Новичок
Сообщения: 7
Зарегистрирован: Пт сен 07, 2012 7:00 am

Re: SYSTEM ERROR: Invalid recid

Сообщение SergeSV » Сб апр 12, 2014 8:06 pm

Понятно, спасибо. Значит придется еще и с кодом разбираться :(

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re: SYSTEM ERROR: Invalid recid

Сообщение George » Вс апр 13, 2014 10:02 pm

Можно поправить promsgs файл таким образом, чтобы ошибка выдавалась и на экран - если она проявляется часто, то кто-нибудь из пользователей обратит на неё внимание. Если ошибка очень редкая, то можно сделать так, чтобы сессия на ней упала с генерацией protrace файла. Так и заметней будет, и код, на котором ошибка возникает, будет указан с точностью до оператора.

Новичок
Сообщения: 7
Зарегистрирован: Пт сен 07, 2012 7:00 am

Re: SYSTEM ERROR: Invalid recid

Сообщение SergeSV » Пн апр 14, 2014 7:45 am

Посмотрел логи базы на несколько дней, ошибка за день появляется в среднем 10-15 раз. Есть дни, когда эта ошибка вообще не возникает, видимо искомый код не выполняется :)
Что нужно поправить в promsgs и как вызвать падение сессии? Я бы попробовал смоделировать ситуацию на демобазе, т.к. есть подозрение на одно приложение.

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re: SYSTEM ERROR: Invalid recid

Сообщение George » Пн апр 14, 2014 8:55 am

Нужно отредактировать копию promsgs файла в hex-редакторе - найти текст сообщения (благо оно в самом начале файла). Текст начинается с тэга "%L", означающего "писать только в лог базы". Его можно заменить на "%B" - (Both) писать в лог и на экран, или на "%G" - ("Большая Жо") аварийно завершить сессию с созданием protrace файла. Подменять строго буква на букву - без смещения текста. Клиентские сессии должны запускаться с отредактированной версией файла promsgs.

Новичок
Сообщения: 7
Зарегистрирован: Пт сен 07, 2012 7:00 am

Re: SYSTEM ERROR: Invalid recid

Сообщение SergeSV » Пн апр 14, 2014 1:06 pm

Огромное спасибо за помощь, буду пробовать.

Вернуться в PROGRESS - АДМИНИСТРИРОВАНИЕ БАЗ ДАННЫХ

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6