Срочный вопрос!!!

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Ответить
Leon
Сообщения: 24
Зарегистрирован: 22 мар 2005, 13:39

Срочный вопрос!!!

Сообщение Leon » 18 апр 2005, 09:42

InterBase 7.1 SP2

Что это за ошибка:
internal gds software consistency check (Bad base for bitmap SET operation) ???

Не могу найти ее описание!
Сегодня эта ошибка появляется постоянно! Работу с базой можно продолжать только после полного рестарта сервера.
BackUp/Restore - сделать пока не могу(честно говоря, я не уверен что поможет).

Что делать?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 18 апр 2005, 10:44

ошибки такой не слышал, но internal gds software consistency check это дело известное.

www.ibase.ru/devinfo/db_repair.htm

Leon
Сообщения: 24
Зарегистрирован: 22 мар 2005, 13:39

Сообщение Leon » 19 апр 2005, 07:10

Судя по Interbase.log после gfix - рушатся индексы!

Index 11 is corrupt on page 530666 in table OUTBOOK (173)
Index 2 is corrupt on page 514626 in table MOTION (181)
Index 2 is corrupt on page 514626 in table MOTION (181)
и т.д.

Как с этим бороться?

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 19 апр 2005, 08:31

перейти на 7.5.

Leon
Сообщения: 24
Зарегистрирован: 22 мар 2005, 13:39

Сообщение Leon » 19 апр 2005, 10:37

И это решит проблему? (С IB7.0 таких косяков не было...)
А не нет ли у 7.5 каких-нибудь других отрицательных особенностей?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 апр 2005, 10:44

переходить на 7.5 не обязательно. базу надо сначала починить.

Leon
Сообщения: 24
Зарегистрирован: 22 мар 2005, 13:39

Сообщение Leon » 19 апр 2005, 10:58

переходить на 7.5 не обязательно. базу надо сначала починить.
Сделал вчера базе backup/restore.
Жду сообщений об ошибках(хорошо если напрасно жду).

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 апр 2005, 11:58

смотри в interbase.log

Leon
Сообщения: 24
Зарегистрирован: 22 мар 2005, 13:39

Сообщение Leon » 19 апр 2005, 12:27

там и смотрю...
Пока кроме 10054 ничего не было.

Leon
Сообщения: 24
Зарегистрирован: 22 мар 2005, 13:39

Сообщение Leon » 20 апр 2005, 13:31

Ну вот и дождался!

mySERV (Server) Wed Apr 20 15:30:21 2005
Database: D:\WORK\DBREESTR\REESTR.GDB
database file appears corrupt ()
wrong page type
page 137651 is of wrong type (expected 7, found 82)
internal gds software consistency check (error during savepoint backout (290), file: exe.c line: 1792)

После проверки gfix-ом:
Relation has 1 orphan backversions (0 in use) in table TMP$POOLS (68)
Index 5 is corrupt on page 428502 in table OUTBOOK (173)
Index 6 is corrupt on page 428919 in table OUTBOOK (173)
Index 10 is corrupt on page 430468 in table OUTBOOK (173)
Index 11 is corrupt on page 137651 in table OUTBOOK (173)
Page 562174 is an orphan
и далее куча orphan-ов...
Грохнул я эти 4 индекса, создал по новой, все работает...

Почему могут портиться индексы? (В IB5.6 и 7.0 таких проблем не было).
Это баг 7.1?
Как бороться, куда копать?

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 20 апр 2005, 13:41

Больше всего похоже на последствия краша сервера или оси. FW - on?

Leon
Сообщения: 24
Зарегистрирован: 22 мар 2005, 13:39

Сообщение Leon » 20 апр 2005, 13:59

FW - ON
Операционка - Win 2000 Adv.serv SP4.
Система, вроде, работает нормально. В сист. логе - все чисто.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 20 апр 2005, 15:25

CommitRetaining пореже использовать.

Leon
Сообщения: 24
Зарегистрирован: 22 мар 2005, 13:39

Сообщение Leon » 21 апр 2005, 05:52

CommitRetaining - вообще не используем.

Brambrulet
Сообщения: 9
Зарегистрирован: 10 ноя 2004, 22:33

Сообщение Brambrulet » 27 апр 2005, 16:34

А CommitRetaining только в этой версии этой СУБД криво работает, или у вас к нему вообще предубеждение?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 27 апр 2005, 16:43

А CommitRetaining только в этой версии этой СУБД криво работает, или у вас к нему вообще предубеждение?
почему это "у меня предубеждение"??? CommitRetaining именно так и работает. то есть, с точки зрения сервера (удержание версий, застревание OIT, OST...) представляет собой длиннууууууую транзакцию, начинающуюся StartTransaction и завершающуюся Commit, с кучей CommitRetaining посередине. То есть, CommitRetaining никоим образом не "укорачивает" транзакцию.

Brambrulet
Сообщения: 9
Зарегистрирован: 10 ноя 2004, 22:33

Сообщение Brambrulet » 28 апр 2005, 13:13

Често говоря я именно и полагал, что тразакция каждый раз стартует заново. Ибо номер транзакции не может не измениться - как иначе отличить данные до и после вызова CommitRetaining.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 28 апр 2005, 13:29

Гы, да об том и речь. Номер-то растёт, а контекст сохраняется. То бишь, ресурсы, связанные с транзакцией, удерживаются с момента старта самой первой из этой скрытой цепочки. И остальным транзакцям приходится иметь это в виду.

Brambrulet
Сообщения: 9
Зарегистрирован: 10 ноя 2004, 22:33

Сообщение Brambrulet » 28 апр 2005, 13:42

Где почитать можно?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 28 апр 2005, 13:45

где-где.... http://www.ibase.ru/devinfo/ibtrans.htm

и еще www.ibase.ru/devinfo/utl.htm
только Крэйг пишет, что якобы CommitRetaining можно делать бесконечно. Что неправда, и я специально отметил в переводе.

Ответить