2013-02-24 2 views
-1

Я пытаюсь сделать ONLINE RESTORE ROLLFORWARDING TO END OF LOGS AND COMPLETE. Когда я запускаю эту команду, я получаю ошибку SQL1035N. База данных в настоящее время используется. Он не позволяет никаких подключений к нему!DB2 online restore - "SQL1035N База данных в настоящее время используется."

Если я деактивирую базу данных, а затем запустите команду, которую я могу восстановить, но тогда моя база данных недоступна для пользователей, но это должно быть потому, что это система реального производства 24/7. Как это решить?

+0

Возможно, я неправильно понимаю ваш вопрос (DB2 не моя сильная сторона), но восстанавливаетесь ли вы в отдельное табличное пространство, чем там, где хранятся таблицы, к которым пользователи могут иметь доступ? –

+0

Привет, нет Я восстанавливаю в тех же табличных пространствах, что пользователи используют – Stefke

+0

Я пытаюсь сделать онлайн-восстановление, чтобы пользователи могли использовать базу данных! У меня есть только одна база данных и одно табличное пространство для данных – Stefke

ответ

1

При выполнении онлайн-восстановления DB2 должна блокировать табличные пространства, которые вы пытаетесь восстановить. Процесс восстановления по существу перезаписывает файл на диске, содержащий данные табличных пространств. Это несовместимо с приложениями, использующими данные в одном и том же табличном пространстве во время восстановления.

Если ваша база данных имеет все данные в одном табличном пространстве, то онлайн-восстановление не особенно полезно. Если в базе данных имеется несколько табличных пространств, приложения могут продолжать работать, пока поврежденные табличные пространства будут восстановлены, но, конечно, это требует некоторого планирования в вашем приложении и проекте базы данных.