Pitstopper'z Notez

Информация для повышения запоминаемости :)

Чиним базы данных Interbase и Firebird

, , , , , ,

Итак, у Вас "упала" БД. Приступаем к быстрой "реанимации". Предупреждаю лишь о том, что данные советы могут не помочь при большом количестве ошибок в БД.

1. Для ремонта баз данных рекомендуется использовать именно утилиту командной строки gfix. Повреждения баз данных могут быть исправлены как при помощи только gfix, так и одновременно gfix и gbak. Делаем копию БД, ибо с оригиналом работать небезопасно. При копировании Вы должны быть уверены, что в БД никто не работает в данный момент;

2. Проверяем БД на наличие повреждений. Для этого открываем командную строку (либо консоль *nix), переходим в директорию с БД и выполняем:
gbak.exe (или ./gbak в *nix) -v -full -user SYSDBA -pass masterkey database.gdb

3.Если выдаются ошибки "checksum error", выполняем команду:
gfix.exe -v -ignore -user SYSDBA -pass masterkey database.gdb

4.Если предыдущая команда обнаружила ошибки, их необходимо исправить командой:
gfix.exe -mend -user SYSDBA -pass masterkey database.gdb

5.Проверяем:
gfix.exe -v -full -user SYSDBA -pass masterkey database.gdb

6.Если на данный момент все еще есть ошибки, надо попытаться сделать бэкап, отключив при этом сборку "мусора" (ключ -g):
gbak.exe -b -v -ig -g -user SYSDBA -pass masterkey database.gdb database.gbk
Ключ -ig игнорирует ошибки при чтении структур данных, пытаясь сохранить в бэкап все неповрежденные структуры и данные;

7. Теперь пытаемся восстановить базу данных:
gbak.exe -c -r -v -user SYSDBA -pass masterkey database.gbk new_database.gdb

8. Если же все-таки не получилось нормально "свернуть-развернуть" БД, но доступ к ней есть, можно попробовать утилитой IBPump скопировать хотя бы часть данных.

Более подробная информация здесь.

Internet Explorer: ''Текущая настройка безопасности не допускает загрузку этого файла''. Что делать?Восстановление загрузчика GRUB 2 в Ubuntu Linux

Comments

AminAminux Monday, November 29, 2010 10:24:34 PM

Пункт номер [0.] забыли, самый главный - восстановить базу из бэкапа.

Pitstopper Tuesday, November 30, 2010 7:22:32 AM

За замечание спасибо. Ситуация как бы подразумевает, что бэкапа нет.

AminAminux Tuesday, November 30, 2010 9:34:20 AM

Про бэкап надо напоминать денно и нощщно.

Потому что многие почему-то думают, что средства восстановления - это типа такая волшебная палочка, которая сейчас все вернет назад из астрала.

Реально же - это самое последнее, что должно применяться. Ибо все подобные средства не гарантируют успешного результата.

Pitstopper Tuesday, November 30, 2010 9:44:20 AM

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

AminAminux Tuesday, November 30, 2010 2:01:20 PM

Это да. Пока у таких распиздяев чего-нить глобальное не сорвется - никто обычно даже не чешется.

Unregistered user Thursday, January 20, 2011 6:55:21 AM

Анонимно writes: В первом случае не gbak а gfix

Unregistered user Thursday, March 17, 2011 4:24:51 AM

Анонимно writes: Здравствуйте... почему не открывается gfix? запускаю gfix и сразу закрывается!!!

Write a comment

New comments have been disabled for this post.

June 2012
M T W T F S S
May 2012July 2012
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30