Ремонт и восстановление баз данных InterBase, Firebird, Yaffil
Модераторы: kdv, Alexey Kovyazin
-
Timo
- Сообщения: 3
- Зарегистрирован: 07 фев 2007, 23:04
Сообщение
Timo » 08 фев 2007, 09:35
Случайно удалил столбец типа varchar(20) в одной из таблиц. Можно ли восстановить?
пробовал такое:
Код: Выделить всё
update rdb$relations set rdb$format=1 where rdb$relation_id=133;
delete from rdb$formats where rdb$format=2 and rdb$relation_id=133;
commit;
не помогло.
Со времени последнего бэкапа было большое добавление данных.
Сразу после удаления столбца базу остановил и скопировал в тёплое сухое место.
Можно как-то исправить ситуацию?
Последний раз редактировалось
Timo 08 фев 2007, 09:38, всего редактировалось 1 раз.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 08 фев 2007, 09:37
не помогло.
нужно было еще
1. воссоздать домен в rdb$fields
2. воссоздать столбец в rdb$relation_fields
-
Timo
- Сообщения: 3
- Зарегистрирован: 07 фев 2007, 23:04
Сообщение
Timo » 08 фев 2007, 10:49
kdv писал(а):не помогло.
нужно было еще
1. воссоздать домен в rdb$fields
2. воссоздать столбец в rdb$relation_fields
Спасибо большое!!!
Помогло.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 08 фев 2007, 11:29
Помогло.
прям кулхацкер.
если помогло, то надо
1. срочный b/r
2. после рестора пересоздать базу из скрипта (isql -x)
или как минимум пересоздать целиком "починенную" таблицу.
3. залить данные в новую базу, например IBPump-ом.
иначе потом могут возникнуть последствия ковыряния системных таблиц.
-
Timo
- Сообщения: 3
- Зарегистрирован: 07 фев 2007, 23:04
Сообщение
Timo » 08 фев 2007, 13:35
kdv писал(а):Помогло.
иначе потом могут возникнуть последствия ковыряния системных таблиц.
что-то нехорошее уже наблюдается.
первое подключение к восстановленной базе не проходит (ibexpert просто виснет). а в это время на сервере образуется процесс fb_inet_server, который кушает много процессора и активно читает и пишет на диск).
Второе и последующие подключения работают. Что может быть причиной?
как вообще посмотреть, чем конкретно сейчас занимается firebird?
-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Сообщение
hvlad » 08 фев 2007, 14:25
Timo писал(а):kdv писал(а):Помогло.
иначе потом могут возникнуть последствия ковыряния системных таблиц.
что-то нехорошее уже наблюдается.
первое подключение к восстановленной базе не проходит (ibexpert просто виснет). а в это время на сервере образуется процесс fb_inet_server, который кушает много процессора и активно читает и пишет на диск).
Второе и последующие подключения работают. Что может быть причиной?
как вообще посмотреть, чем конкретно сейчас занимается firebird?
sweep ?