powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как восстановить БД под Linux
3 сообщений из 3, страница 1 из 1
Как восстановить БД под Linux
    #32087294
Матвей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Ситуация: работает IB на Linux-сервере, к БД подключено N-е
количество пользователей, в какой-то момент запускается некий
процесс – копирование БД из другого места на рабочую БД (к которой и
подключены пользователи) – и затем прерывается. На месте рабочей БД
возникает некий обрубок, к которому невозможно подключиться, выдается
сообщение:
unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
database file appears corrupt ().
wrong page type.
page 300627 is of wrong type (expected 5, found 0).
При этом ранее подключенные пользователи продолжают работать. Вопрос:
с чем они работают, и как это что-то обнаружить в файловой системе
Linux, чтобы не потерять данные?

С уважением, Матвей Симонов, г. Самара
...
Рейтинг: 0 / 0
Как восстановить БД под Linux
    #32087326
Привет!

Ситуация ужасающая.
В этом письме описаны сразу несколько вещей, за которые в конференции бьют канделябрами, а работодатели выгоняют с работы.

1) Копировать базу данных, да еще с подлюченными пользователями, куда-либо - это грозит повреждениями и базы-источника, и базы приемника. Только через backup-restore!
2) Копировать поверх рабочей базы (не говоря про подключенных пользователей - это вообще...) никогда нельзя - даже воостановлением из бэкапа с ключом -r сильно не рекомендуется делать.

3) Самый забавный и самый страшный глюк - это то, что в Линух совсем другое понятие о файлах. Там через механизм вроде ярлыков файловая система организована.
Когда ты скопировал поверх БД другой файл, старая БД будет существовать для подключенных пользователей (и только для них), до тех пор, пока они не отключатся (спецы по Линух раскажут тебе про Inode и unlink и другие интересные вещи). Новые пользователи увидят обрубок.
Единственная возможность спасти базу (если к моменту написания этого письма все уже не отключились) - это через подключенного ппользователя выкачать данные, хранящиеся в базе. Т.е. select из всех таблиц и выемка всех матаданных...

А обрубок скорее всего умер совсем...

С уважением,
Алексей.
...
Рейтинг: 0 / 0
Как восстановить БД под Linux
    #32087331
Да, может, спецы по Линуху скажут, как посмотреть inode такого "призрачного" соединения к базе данных и как-то весь файл выцепить... Но это скорее в конференцию по Линух надо.

Попробуй написать сюда
news://forums.demo.ru/epsylon.public.interbase
там есть пара Линух+InterBase-гуру, может, что подскажут еще...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как восстановить БД под Linux
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]