Страница 1 из 1

Ошибка восстановления БД при backup/restore

Добавлено: 27 апр 2006, 13:56
Olegas
У меня возникают ошибки в базе после backup/restore, если их выполнять когда, к базе подключены пользователи.
Следует ли отключать пользователей всякий раз при backup/restore.

Добавлено: 27 апр 2006, 14:49
dimitr
ошибки ты нам сообщить не хочешь?

Добавлено: 27 апр 2006, 14:53
Karp
Следует ли отключать пользователей всякий раз при backup/restore
при бэккапе необязательно - но тогда инфа в бэкапе будет неактуальной на момент рестора - всё, что пользователи наколбасят за это время, не будет в бэкапе

а если полный бэкап-рестор юез потери инфы, то обязательно отключать, причём ресторить не в файл боевой базы, а в сторонку, а потом боевую базу переименовывать (во избежание -))) и подменять свежеотресторенной.

а какие ошибки? ты случаем не поверх боевой базы ресторишь? :evil:

Добавлено: 27 апр 2006, 16:01
Ivan_Pisarevsky
dimitr писал(а):ошибки ты нам сообщить не хочешь?
Так жеж как божий день, первый же внешний ключ и рестор обломается. "table in use" Юзеров на время b/r расшугать обязательно.

Добавлено: 27 апр 2006, 17:17
kdv
что за бред?

Добавлено: 28 апр 2006, 08:30
Ivan_Pisarevsky
kdv писал(а):что за бред?
Мой? Так я именно такое поведение наблюдал, когда пытался подключиться к базе, которая наполовину отресторилась. Разумеется БД игровая и это был эксперимент, совсем недавно, кстати. Вот только в игровой машинке винт издох, щас новый прикупил, еще поэкпериментирую.

Добавлено: 28 апр 2006, 08:41
Dimitry Sibiryakov
Насколько я помню, свежие версии Жар-Птички не дают подключиться к восстанавливаемой базе (она создается в режиме shutdown), но может ты игрался двумя SYSDBA...
Тому кто пускает всех пользователей в рабочую базу под именем SYSDBA или владельца надо руки отрывать по самые... ноги.

Добавлено: 28 апр 2006, 08:45
Ivan_Pisarevsky
Dimitry Sibiryakov писал(а):Насколько я помню, свежие версии Жар-Птички не дают подключиться к восстанавливаемой базе (она создается в режиме shutdown), но может ты игрался двумя SYSDBA...
Полуторка, да двумя сисдба-ми.

Добавлено: 28 апр 2006, 08:47
Olegas
Я так и думал. Только все это у меня делается автоматом из бат файла.
Поэтому сделал так, чтобы пользователи не подключались во время бэкап/рестора:
1. Остановил Интербэйз сервис.
2. Переименовал файл базы, чтобы пользователи не могли подключиться.
3. Запустил Интербэйз сервис.
4. Сделал бэкап. Затем рестор в другой файл.
5.Остановил Интербэйз сервис. Преименовал старый файл базы. Преименовал новый файл базы.
6. Запустил Интербэйз сервис.
Все.
Если можно проще, подскажите как.
Такая схема имеет существенный недостаток.
Останов/запуск сервиса я делаю через net stop/net start.
Когда запускается net stop, он запускается как параллельнй процесс и управление в бат файле передается на следующую команду, а останов в это время может быть еще не выполнен, и в результате вся остальная цепочка в батике не срабатывает. Как этого избежать?