проблемы с БД

Ремонт и восстановление баз данных InterBase, Firebird, Yaffil

Модераторы: kdv, Alexey Kovyazin

Ответить
Вера

проблемы с БД

Сообщение Вера » 05 мар 2005, 11:05

Скажите, пожалуйста, насколько подлежит восстановлению БД в такой ситуации:

При сохранении документа выскочила ошибка IB-902: internal gds software consistency check (can't continue after bugcheck).

1) при Database Validation (с флагом Validate record fragments) обнаруживается 4 database page errors... В log'е соответственно 4 строки "page xxxx is an orphan"
:?: если после ругани на ошибки я ставлю флаг "repair" и больше не получаю никаких сообщений и строк в log-файле - значит ли это, что эти ошибки исправились :?: во всяком случае, при повторном validation они не обнаруживаются...
но в ПО картина при этом не меняется

2) при попытке перекачать данные в новую БД на одной из таблиц возникает ошибка General SQL error. internal gds software consistency check (wrong record length (183) и практически на всех последующих таблицах ошибки General SQL error. internal gds software consistency check (can't continue after bugcheck)
-> в полученной после перекачки базе часть данных просто отсутствует

3)при бекапе выдается следующее:
Backup started on Fri Mar 04 17:55:32 2005...

gbak: gbak version WI-V4.1.0.194
gbak: Version(s) for database "C:\SHouse263\upgrade\ib_sh247_ac.gdb"
InterBase/x86/Windows NT (access method), version "WI-V4.1.0.194"
on disk structure version 8.0
internal gds software consistency check (wrong record length (183))
gbak: gds_$receive failed
gbak: Exiting before completion due to errors
internal gds software consistency check (can't continue after bugcheck)

Backup exited unsuccessfully on Fri Mar 04 18:03:47 2005
--------------------------------------------------------------------------
При этом БД кажется вполне рабочей за исключением невозможности просмотреть пару документов...
Возможно ли починить такую БД?
Обратилась к разработчикам ПО с вопросом, нельзя ли средствами IB удалить эти проблемные док-ты и все, что с ними связано (известны их типы,номера, склады и пр. атрибуты). Сама не могу попробовать, поскольку они не открывают структуру БД. Получила ответ, что коль не проходит backup, то и скрипт по удалению объектов не сработает...
Насколько это так :?:

IB 4.1
база R-Keeper SHouse (складской учет ресторанного ПО)
размер БД порядка 500Мб

с уважением,
Вера

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

Сообщение Merlin » 05 мар 2005, 12:16

Во-первых, с наступающим праздником :) Во-вторых, тут неподалёку ( http://www.ibase.ru/devinfo/db_repair.htm ) лежит отличная статья с методическими рекомендациями по базоремонту. В третьих, в данном конкретном случае, если времени мало, можно сразу читать её с раздела "Повреждения таблиц".

Alexey Kovyazin
Сообщения: 15
Зарегистрирован: 25 окт 2004, 19:13

Сообщение Alexey Kovyazin » 05 мар 2005, 16:23

Вера, здравствуйте!

Пришлите лог от IBFirstAID Diagnostician (зазипуйте) на ak@ibase.ru, на саппорт support@ibase.ru не шлите - все уже празднуют.

С уважением,
Алексей Ковязин

Гость

Сообщение Гость » 09 мар 2005, 11:47

Если gfix с ключом -v не выдает никаких сообщений, что это значит? Должен ли gfix оставлять какие-либо следы своей работы в interbas.log?

Вера

Сообщение Вера » 09 мар 2005, 11:55

Чем отличается backup/restore, проводимые из IB Server Manager от использования утилиты gbak?
К сожалению, gfix и gbak использую впервые, раньше пользовалась только Server Manager...
предыдущее сообщение тоже мое

с уважением,
Вера

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

Сообщение kdv » 09 мар 2005, 12:15

1. gbak от server manager не отличаются
2. gfix должен писать в interbase.log только если он обнаружил повреждения.

Вера

Сообщение Вера » 09 мар 2005, 12:34

kdv писал(а):gfix должен писать в interbase.log только если он обнаружил повреждения.
как он может не найти повреждения на БД с ситуацией, описанной в самом начале поста? Может, я что-то не так делаю... :roll:

запускаю такой батник (БД скопировала тоже в bin )
cd c:\Program Files\Borland\INtrBase\bin

SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey

gfix sh.gdb -shut -force 0

gfix -v -full sh.gdb

Не получаю ни единого сообщения (и log не содержит строк про работу gfix), хотя все говорит о том, что база испорчена...

с уважением,
Вера

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

Сообщение kdv » 09 мар 2005, 13:03

Вера. в статье db_repair.htm, по-моему я писал, что gfix обнаруживает не все ошибки, и не все способен чинить.

кроме того, см. www.ibase.ru/devinfo/errors.htm, самую последнюю ошибку. Возможно у вас именно этот баг. В этом случае лечение произведено быть не может, кроме как удалением означенного индекса (который приводит к ошибке).

Вера

Сообщение Вера » 09 мар 2005, 13:54

Спасибо за ответ.
kdv писал(а):кроме того, см. www.ibase.ru/devinfo/errors.htm
к сожалению, страничка у меня не открывается :(

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

Сообщение kdv » 09 мар 2005, 14:45

что значит "не открывается"?

E: internal gds software consistency check (wrong record length (183))
D: может возникнуть при UPDATE полей, по которым построен unique индекс.
S: ошибка исправлена в IB 5.6 (bugs N 60135, 60537).

Ответить