powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Восстановление из бэкапа в существующую базу.
10 сообщений из 10, страница 1 из 1
Восстановление из бэкапа в существующую базу.
    #37544216
chuk_and_gek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Имеем Windows Server 2003 и DB2 версии 9.5.
Имеем базу и ее online-бэкап, из которого базу и поднимали с нуля. В базе удалили одну табличку, а вторую полностью почистили командой delete. Захотели восстановить. Восстанавливали из того же бэкапа в существующую базу. В результате не восстановилась ни удаленная таблица, ни данные из почищенной. Почему? Что вообще происходит при восстановлении в существующую базу всей базы или отдельного ts?

Заранее спасибо.
...
Рейтинг: 0 / 0
Восстановление из бэкапа в существующую базу.
    #37544223
chuk_and_gek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вдогонку предыдущему посту.

Логи накатили как положено. Все завершилось без ошибок.
...
Рейтинг: 0 / 0
Восстановление из бэкапа в существующую базу.
    #37544469
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.chuk_and_gekЛоги накатили как положено. Все завершилось без ошибок.А как это - "как положено"?
До конца журнала или до точки во времени, предшествующей удалению одной таблицы и записей из другой?
...
Рейтинг: 0 / 0
Восстановление из бэкапа в существующую базу.
    #37544525
chuk_and_gek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бекап был с опцией- INCLUDE LOGS, накатка была именно этих логов.
Если мы пред восстановлением базу дропаем, то при восстановлении все таблички присутствуют.
А при восстановлении в существующу - их нет?
...
Рейтинг: 0 / 0
Восстановление из бэкапа в существующую базу.
    #37544742
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chuk_and_gekБекап был с опцией- INCLUDE LOGS, накатка была именно этих логов.
Если мы пред восстановлением базу дропаем, то при восстановлении все таблички присутствуют.
А при восстановлении в существующу - их нет?Как сказано в DROP DATABASE , оно удаляет в т.ч. и журналы базы.
Поэтому, если вы перед drop не скопировали журналы в другое место, и потом в rollforward не указали путь к ним, то оно и не найдёт журнальные записи, соответствующие вашим удалениям.
Если же вы восстанавливаетесь в существующую базу, то журналы остаются на месте, rollforward может их найти и применить эти записи.
...
Рейтинг: 0 / 0
Восстановление из бэкапа в существующую базу.
    #37547108
chuk_and_gek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Команды drop database мы не давали. Мы дропнули только одну таблицу и думали, что из бэкапа, сделанного ранее, она должна восстановиться, также как и строки, удаленные из другой таблицы. Но нет. Ни того, ни другого.
...
Рейтинг: 0 / 0
Восстановление из бэкапа в существующую базу.
    #37547194
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chuk_and_gekКоманды drop database мы не давали. Мы дропнули только одну таблицу и думали, что из бэкапа, сделанного ранее, она должна восстановиться, также как и строки, удаленные из другой таблицы. Но нет. Ни того, ни другого.Ещё раз:
rollforward - это такая команда, которая применяет все журнальные записи, которые оно смогло найти во всех ему доступных журналах до указанной точки во времени или до последней записи.
Если оно нашло запись об удалении таблицы в журналах, то таблица будет удалена.
Если не нашло - например, из-за того, что вы указали накатиться до точки во времени, когда произошло удаление, или вы указали to end of logs, но не сделали доступными для rollforward журнал, где есть отметка об удалении таблицы (не обнаружив следующий по порядку журнал, rollforward остановится), - то таблица останется в базе.
...
Рейтинг: 0 / 0
Восстановление из бэкапа в существующую базу.
    #37547307
chuk_and_gek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удалили старые логи- все восстановилось.
А в чем тогда смысл бекапа и восстановления одного табличного пространства?
Для восстановления в существующую- необходимо удалять все логи, а если база рабочая? (просто все затеялось из-за того, что в БД есть табл.пространство с блобами, захотели делать бекап TS без блобов- раз в неделю, а с блобами- раз в месяц. В базе живут несколько независимых задач.) Если удалять логи, то как восттанавливать по TS?
...
Рейтинг: 0 / 0
Восстановление из бэкапа в существующую базу.
    #37547530
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chuk_and_gekА в чем тогда смысл бекапа и восстановления одного табличного пространства?
Для восстановления в существующую- необходимо удалять все логи, а если база рабочая? (просто все затеялось из-за того, что в БД есть табл.пространство с блобами, захотели делать бекап TS без блобов- раз в неделю, а с блобами- раз в месяц. В базе живут несколько независимых задач.) Если удалять логи, то как восттанавливать по TS?Основное предназначение архивов табличных пространств это не восстановление случайно удалённых данных или таблиц (хотя и эти проблемы тоже можно решать восстановлением табличного пространства), а более быстрое восстановление после сбоев дисковой подсистемы.
Если страницы данных или индексов побились только в определённом табличном пространстве, то вместо того, чтобы восстанавливать всю базу из архива, достаточно восстановить это табличное пространство и накатить его по журналам.
При этом действительно есть смысл архивировать более часто те пространства, данные в которых чаще меняются, ведь чем меньший объём изменений надо будет накатить по журналам, тем быстрее пройдёт восстановление.

Теперь по поводу восстановления случайно удалённых данных.
Вы тоже можете использовать архив табличного пространства для этого, но тут есть не очень приятные особенности.
Во-первых вам не надо для этого удалять журналы.
Вы можете накатывать табличное пространство не до конца журналов, а до точки во времени, предшествующей операции (delete, например), действие которой надо отменить. Но там есть особенности, связанные со ссылочной целостностью и нахождением этиой таблицы в разных табличных пространствах, о чем лучше почитать здесь:
Rolling forward changes in a table space .
Кроме того, для восстановления удалённой таблицы можно использовать предложение RECOVER DROPPED TABLE команды ROLLFORWARD .
Также в v9 вы можете использовать восстановление в новую БД из архива табличных пространств.
См. REBUILD examples .
Т.е. вы можете восстановить только табличные пространства, содержащие вашу таблицу, из которой вы удалили данные, накатить эти табличные пространства до момента удаления данных в ней, а потом выгрузить сожержимое этой таблицы.
...
Рейтинг: 0 / 0
Восстановление из бэкапа в существующую базу.
    #37547667
chuk_and_gek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за подробный ответ! Будем пробовать:)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Восстановление из бэкапа в существующую базу.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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