Страница 1 из 1

"Сыпятся" индексы

Добавлено: 23 дек 2009, 18:46
DmitryF
Добрый всем день.
Помогите, если сможете, найти причину проблемы.
Ситуация следующая:
Есть сервер №1 с IB6.0, на котором лежит n-ное кол-во баз *.gdb Клиенты подключаются к ним и все работает, хоть и медленно.
Есть сервер №2 с FB2.1.3.18185 SS, на который переносятся эти рабочие базы. Клиенты подключаются, работают, но 1-2 раза в день вылетает какая-то из баз с ошибкой: Summary of validation errors Number of index page errors и кол-во ошибок. После бэкап/рестор база опять в строю, но через нек-ое время может опять вылететь. Что характерно, если база вылетела, то с достаточно большой вероятностью она вылетит еще раз в ближайшее время. При возврате на сервер №1 все опять работает без ошибок.
Подскажите, с чем такая ситуация может быть связано? Что может помочь?
С уважением, Дмитрий.

Re: "Сыпятся" индексы

Добавлено: 23 дек 2009, 22:27
kdv
поясните, как это Вы базы переносите с 2.1 на IB 6.0?
проверяли-ли Вы железо на сервере N 2, например, event log, тестировали-ли память?
в день вылетает какая-то из баз с ошибкой: Summary of validation errors Number of index page errors и кол-во ошибок.
я так понимаю, что эта информация из gfix. Вы базы каким образом перенесли от IB 6.0 на FB 2.1 ? в interbase.log на сервере 1 ошибок нет, и gfix ошибок не находит?

Re: "Сыпятся" индексы

Добавлено: 24 дек 2009, 17:12
DmitryF
kdv писал(а):поясните, как это Вы базы переносите с 2.1 на IB 6.0?
проверяли-ли Вы железо на сервере N 2, например, event log, тестировали-ли память?
Без изысков (возможно это и не верно), просто копирую, как с IB на FB, так и наоборот . База в этот момент не используется.
kdv писал(а):я так понимаю, что эта информация из gfix. Вы базы каким образом перенесли от IB 6.0 на FB 2.1 ? в interbase.log на сервере 1 ошибок нет, и gfix ошибок не находит?
ругается пользовательская программа (информация в логе) и ту же информацию выдает gfix.
По поводу interbase.log на сервере №1 - есть ошибки типа:

Server1 (Server) Mon Nov 30 18:38:58 2009
Database: D:\BASA.GDB
Index 1 is corrupt on page 3459 in table UNDEF_ADDRESS (143)

при этом данные ошибки на работоспособность клиентской программы не влияли. На втором сервере в firebird.log есть ошибки типа:

Server2 (Server) Tue Dec 22 09:44:40 2009
Database: D:\BASA.GDB
Index 2 is corrupt on page 4084 level 1. File: ..\..\..\src\jrd\validation.cpp, line: 1659
in table PLATEGY (138)


Server2 (Server) Tue Dec 22 09:44:40 2009
Database: D:\BASA.GDB
Index 2 is corrupt on page 4084 level 1. File: ..\..\..\src\jrd\validation.cpp, line: 1649
in table PLATEGY (138)


Server2 (Server) Tue Dec 22 09:44:40 2009
Database: D:\BASA.GDB
Index 2 has orphan child page at page 4084 in table PLATEGY (138)

но таблица совсем иная, чем в ошибках на сервере №1.

Также была одна машина (клиент), база которой сыпалась просто рекордное (несколько за день) число раз. Не помогла даже замена базы на абсолютно новую. Поэтому у меня возникло предположение, что, возможно, общая проблема связана с качеством канала связи, хотя все-равно не понятно, почему возникают ошибки в индексах на сервере.

Re: "Сыпятся" индексы

Добавлено: 24 дек 2009, 17:14
DmitryF
kdv писал(а):поясните, как это Вы базы переносите с 2.1 на IB 6.0?
проверяли-ли Вы железо на сервере N 2, например, event log, тестировали-ли память?
в день вылетает какая-то из баз с ошибкой: Summary of validation errors Number of index page errors и кол-во ошибок.
я так понимаю, что эта информация из gfix. Вы базы каким образом перенесли от IB 6.0 на FB 2.1 ? в interbase.log на сервере 1 ошибок нет, и gfix ошибок не находит?
есть еще ошибки типа:

Server2 (Server) Tue Dec 22 20:26:12 2009
INET/inet_error: read errno = 10054

Re: "Сыпятся" индексы

Добавлено: 24 дек 2009, 18:21
hvlad
ODS 10 в FB 2.x хоть и поддерживается, но никакие тесты не проводятся.
Переводи БД в родную для FB ODS, тогда будет о чём говорить.

Re: "Сыпятся" индексы

Добавлено: 25 дек 2009, 00:01
kdv
Влад уже ответил про ODS, я лишь хотел проверить свои подозрения на тему "переноса" баз.
Index 1 is corrupt on page 3459 in table UNDEF_ADDRESS (143)
у Вас база УЖЕ ПОВРЕЖДЕНА на IB 6.0, а Вы ее переносите на 2.1.
но таблица совсем иная, чем в ошибках на сервере №1.
одно цепляется за другое.
Также была одна машина (клиент), база которой сыпалась просто рекордное (несколько за день) число раз.
это исключительно проблемы железа сервера. И никакое "качество канала связи" на это влиять не может, т.к. клиент с файлом базы не работает. С ней работает только сервер.
не понятно, почему возникают ошибки в индексах на сервере.
в первых своих вопросах я дал намек на кривое железо. Его и исследуйте.
INET/inet_error: read errno = 10054
воспользуйтесь поиском по этому форуму, и по сайту. не поможет - в гугле. Эта ошибка уже давно расписана подробнейшим образом.