Internal firebird consistency check

Уважаемые мастера Delphi! Очень нужна Ваша помощь! Программа стала выдавать следующию ошибку :
"internal gds software consistency check( can"t continue after bugcheck)" В чем дело?
И второй вопрос почему может выдаваться сообщение, что таблица не найдена, хотя она существует?


Johnmen ( 2003-03-15 00:54 ) [1]

Запорчена база данных. (
1. Проверить корректность БД штатными средствами
2. Попробовать сделать backup/restore

А какое событие в жизни БД произошло между "ошибки не было" и "появилась ошибка" ?


sunr >2003-03-15 01:14 ) [2]

Попробуй вот по этому примеру поднять базу данных, естественно
User, password и путь к базе данных свои

d:ib_42ingfix -shut -force 1 e:ib_dataAR_IB.GDB -user "SYSDBA" -password "oooo"
net stop "InterBase Server"
copy e:ib_dataAR_IB.GDB e:ib_dataAR_IB.PRV
net start "InterBase Server"
d:ib_42ingbak e:ib_dataAR_IB.GDB e:ib_dataAR_IB.GBK -user "SYSDBA" -password "oooo" -B -L -Y "e:IB_DATA.txt"
d:ib_42ingbak e:ib_dataAR_IB.GBK e:ib_dataAR_IB.GDB -user "SYSDBA" -password "oooo" -P 4096 -V -R -Y "e:IB_DATA
.txt"


Наташа ( 2003-03-15 08:34 ) [3]

Большое спасибо! Попробую. На что именно она так отреагировала, точно не знаю. Меняла тип в ХП с Float на double Precision и сделала вставку еще одного поля в таблицу и все.


Ihor Osov’yak ( 2003-03-15 14:22 ) [4]

2 Наташа © (15.03.03 08:34)

Если менять метаданные и есть активные транзакции — очень большая вероятность возникновения такой ситуации как у Вас. Если активные транзакции работают с обьектами, которые задействованы в изменении — 100 % будете иметь то, что имеете.

Мораль отсюда — изменяйте метаданные тогда, когда с базой кроме вас никто не работает.

В большинстве случаев лечится посредством закрытия всех коннектов. Иногда после этого нужно еще шутдаун базы. В особо клинических случаях — баккуп с послудующим рестор.

chand0s,Лучше бы firebird.log привёл.

А воспроизвести можешь? В смысле, ошибка возникла в рядовой ситуацииили в после чего-то необычного (обновления, импорта и т.д.) ?

после чего-то необычного (обновления, импорта и т.д.) ?

теоретически причина ошибки — транзакции, в которых создается очень-очень много версий (update/insert/delete), и которые завершаются rollback.

ничем не лечится, только восстановлением базы из бекапа.

This error message usually means that something is wrong with the database file. It happens when Firebird expects to read some value on some particular place, but finds something else. Severity of the problem could range from harmless things like inability to read old record versions (not needed to anyone anyway) or broken indexes (could harm your queries and primary/foreign key constraints) to corrupt data.

Читайте также:  Parkv cvbs in что это

Reasons for this can be various, from bad RAM module in the server, malfuncion of hard disk drive, to bug in filesystem or in Firebird engine. It’s a common consequence of power failure and forced writes being off at the same time. Also, there are known cases when suspend to disk/hibernate messes up the filesystem cache for the database file.