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

Имеется 2 физических сервера с db2 9.7. Задача: делать бэкапы на рабочем сервере так, чтобы их можно было использовать для восстановления на другом, при этом без потерь данных (онлайн бэкапы баз делать не подходит). Можно ли это делать только с помощью полных бэкапов и архивных логов? Была попытка перенести архивные логи и полный бэкап на другой сервер, сделать restore и rollforward до конца логов, но информация, введенная в базу после полного бэкапа не восстановилась. Может быть стоит применить другой способ бэкапа в данном случае?
...
Рейтинг: 0 / 0
Восстановление DB2 из полного бэкапа и архивных логов
    #37830603
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
usha_cow,

Здравствуйте.
Покажите последовательность действий на новом сервере с указанием полного вида команд и, если можно, результаты их работы.
...
Рейтинг: 0 / 0
Восстановление DB2 из полного бэкапа и архивных логов
    #37831007
usha_cow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилось, что надо. Но не совсем понимаю из каких логов он повторяет транзакции и как. Если поясните - будет круто :)

На первом сервере у базы изменила следующие параметры для того, чтобы она оказалась в режиме восстановления:
LOGRETAIN = RECOVERY
LOGARCHMETH1 = DISK:D:\os2archivelogs\ - для ведения архивных логов

Тоже самое сделала на втором сервере.

Затем полный бэкап бд на первом сервере.
Рестор бд на новом:
Код: plsql
1.
restore db OS2_DB from D:\ on D:\ without prompting;



Скопировала логи активные (C:\DB2\NODE0000\SQL00002\SQLOGDIR\) и архивные (D:\os2archivelogs\) (хотя как я понимаю, после включения режима восстановления для базы, активные логи архивируются, и копировать нужно только архивные). Положила их в соответствующие папочки на втором сервере.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
------------------------------ Введенные команды ------------------------------
rollforward db OS2_DB to end of logs;
------------------------------------------------------------------------------
rollforward db OS2_DB to end of logs

                                 Состояние повтора

 Алиас входной базы данных                           = OS2_DB
 Число узлов с возвращенным состоянием               = 1

 Номер узла                             = 0
 Статус повтора                                    = DB  работает
 Следующий файл журнала на чтение       = S0000065.LOG
 Обработано файлов журналов             =  -
 Последняя принятая транзакция          = 2012-06-08-08.31.11.000000 UTC

DB20000I  Команда ROLLFORWARD выполнена успешно.



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
------------------------------ Введенные команды ------------------------------
rollforward db OS2_DB stop;
------------------------------------------------------------------------------
rollforward db OS2_DB stop

                                 Состояние повтора

 Алиас входной базы данных                           = OS2_DB
 Число узлов с возвращенным состоянием               = 1

 Номер узла                             = 0
 Статус повтора                                    = не отложена
 Следующий файл журнала на чтение       =
 Обработано файлов журналов             =  -
 Последняя принятая транзакция          = 2012-06-08-08.31.11.000000 UTC

DB20000I  Команда ROLLFORWARD выполнена успешно
...
Рейтинг: 0 / 0
Восстановление DB2 из полного бэкапа и архивных логов
    #37831205
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятно чем вы руководствовались меняя параметр LOGRETAIN, поскольку
This parameter is deprecated in Version 9.5, but is still being used by pre-Version 9.5 data servers and clients. Any value specified for this configuration parameter will be ignored by the DB2® Version 9.5 database manager. Starting in Version 9.5, the logarchmeth1 configuration parameter is used to set the LOGRETAIN value.

т.е. вместо него используется параметр logarchmeth1 который вы после него и установили. Не надо первую базу переводить в какой либо режим, чтобы из ее бэкапов восстановить базу на другом сервере. Для восстановления на другом сервере надо установить базу такой же версии как исходной (хотя можно взять и версию поновее но это детали), где делался бэкап, а также иметь в наличии файлы бэкапа. Можете почитать например хорошую статью на эту тему Введение в восстановление после сбоев базы данных DB2 9 и конечно документацию.
...
Рейтинг: 0 / 0
Восстановление DB2 из полного бэкапа и архивных логов
    #37831253
usha_cow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полный бэкап будет делаться раз в день например, поэтому хотелось бы иметь возможность сделать рестор из этого бэкапа + накатить все транзакции, совершенные после полного бэкапа. Не очень понятно, как db2 делает rollforward, как и какие логи при этом использует, чтобы четко знать, что копировать на другой сервер, кроме полного бэкапа.
...
Рейтинг: 0 / 0
Восстановление DB2 из полного бэкапа и архивных логов
    #37831703
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
usha_cowНе очень понятно, как db2 делает rollforward, как и какие логи при этом используетИщет подходящие файлы журналов и накатывается по ним.
Ищет сначала в пути для активных журналов, потом по порядку в каталогах, указанных в:
- OVERFLOW LOG PATH опции команды ROLLFORWARD, если указано
- OVERFLOWLOGPATH параметре БД
- history file
- LOGARCHMETH* параметрах БД

Использует журналы с номерами большими или равными номеру, который можно получить среди прочего, например, утилитой:
Код: plaintext
db2ckbkp -l  backup_file 

С журналами db2 работает вкратце так: как активный закрывается, так его копируют в путь для архивных журналов, если этот путь установлен. Иначе (если logarchmeth* = logretain) он остаётся лежать в пути для активных журналов.
Активный журнал может закрыться не только при его заполнении, но и, например, при деактивации БД или при взятии online архива.

Поэтому, если вы хотите, чтобы все транзакции сохранились при накате, вам надо не только из архивного пути журналы подсунуть в соотв. каталог, но и из активного пути.
Правда, незаархивированный файл надо брать только если с БД не работает никто в данный момент.
Например, когда система упала.
Тогда активный журнал не успел заархивироваться, в нём есть завершенные транзакции, но с БД в данный момент никто не работает (т.е. в файл не идёт запись).
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Восстановление DB2 из полного бэкапа и архивных логов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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