Страница 1 из 1
Восстановление удаленных записей
Добавлено: 14 ноя 2006, 05:33
systemprogrammist
Доброго всем времени суток
Есть база данных, хранится на флэшке.
Не так давно случайно произошло удаление всех записей из одной таблицы посредством выполнения: delete from tableName. Когда это заметили ( примерно через час ), скопировали с флэшки базу, флэшку с тех пор не трогали.
Возможно ли восстановление удаленных записей ( ~ 5000 )?
Воспользовался ibundeletetrial - он показал, что удаленных записей нет.
Что еще порекомендуете проделать?
firebird 1.5, WinXP, размер файла БД - 12Мб
Никаких дополнительных настроек после создания бд не делалось, то есть все по умолчанию
Добавлено: 14 ноя 2006, 12:15
Merlin
Восстановление возможно только в случае немедленного прекращения работы после удаления. Любой запрос, обратившийся к страницам с удалёнными версиями, имеет шанс собрать их как мусор.
Добавлено: 14 ноя 2006, 14:50
WildSery
Ага. Как раз, когда заметили (через час), то скорее всего это был запрос к данным этой таблицы.
После чего и был собран мусор.
Так что теряй надежду.
Добавлено: 14 ноя 2006, 19:20
systemprogrammist
То есть, даже обычный select * from tablename убъет последнюю надежду?
И можно ли с этим как-нибудь бороться? хочу узнать на будущее...
В IBExpert нашел какой-то протокол, но можно ли будет оттуда потом вытащить нужное - непонятно...
Бэкапы конечно помогут, но все равно их никто чаще раза в день делать не будет, да и возможности такой нет.
Добавлено: 14 ноя 2006, 20:29
WildSery
systemprogrammist писал(а):никто чаще раза в день делать не будет
Робот будет.
А саму возможность такого прибития таблиц нужно устранять.
Иначе и update rdb$pages можно от юзера дождаться.
Добавлено: 15 ноя 2006, 07:39
systemprogrammist
Там по смыслу такое надо... при слиянии двух баз... просто базы перепутали.
И последний вопрос, уже не по теме: разве можно делать бэкап, когда есть подключенные к базе пользователи? вроде я где то здесь же видел, что ни в коем случае нельзя копировать файл базы, если к нему существуют подключения
Добавлено: 15 ноя 2006, 08:59
stix-s
systemprogrammist писал(а):Там по смыслу такое надо... при слиянии двух баз... просто базы перепутали.
И последний вопрос, уже не по теме: разве можно делать бэкап, когда есть подключенные к базе пользователи? вроде я где то здесь же видел, что ни в коем случае нельзя копировать файл базы, если к нему существуют подключения
Копировать низя, а бакапить мона

Добавлено: 15 ноя 2006, 10:27
WildSery
Бэкап читает данные базы так же как и обычный клиент, открывает снэпшот и читает всё подряд.