Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 incremental backup/restore / 25 сообщений из 25, страница 1 из 1
05.09.2014, 09:51
    #38738201
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Добрый день. Посмотрел схожие темы и не нашёл того что интересует. в DB2 относительно недавно. делаю так в CLP (DB2 Express-C 10.5):
create db sample
connect to sample
create table test(id integer)
insert into test values(1)

update db cfg using logarchmeth1 DISK:C:\
update db cfg using trackmod ON
connect reset
backup db sample to c:\temp compress

connect to sample
insert into test values(2),(3),(4),(5)
select * from test
connect reset

backup db sample online incremental to c:\temp\online compress

drop db sample (перенос на другой ПК, например)

restore db sample from c:\temp

а дальше как нужно делать чтобы восстановить инкементный дамп?
я пробовал делать так:
restore db sample incremental automatic from c:\temp\online
и при попытке подключится получаю: SQL1117N Не удается установить или активировать соединение с базой данных "SAMPLE" из-за состояния отложенного повтора транзакций. SQLSTATE=57019
так же пробовал: rollforward db sample to end of backup and stop
ошибка: SQL1265N Неправильный последовательный номер архивного файла журнала
"S0000001.LOG" для базы данных "SAMPLE" на разделе баз данных "0" и потока
журнала "0".

с английским у меня так себе, так что IBM knowledge center помогает, но тяжеловато

вопрос как правильно накатить офлайн дамп и на него инкерементный. И при снятии офлайн дампа архивные журналы должны очищаться автоматически?
...
Рейтинг: 0 / 0
05.09.2014, 13:43
    #38738591
n&n
n&n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
ems2811,

вообще, для автоматического восстановления (automatic) из цепочки инкрементальных бэкапов нужен файл истории,
а вы его удалили
восстанавливайте из фулл бэкапа
он похоже оффлайн, тогда rollforward для него не нужен
потом пробуйте restore db sample incremental from ... newlogpath ...
& rollforward
...
Рейтинг: 0 / 0
05.09.2014, 15:42
    #38738787
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Скорее всего чего-то недопонимаю: инкрементный дамп содержит в себе все изменения с момента последнего офлайн дампа. Ничего не откуда не удалял и инкементный бэкап делал только 1 раз (его и пытаюсь восстановить). Делал все в точности со своим описанием.
Дамп делал офлайн. Но даже после его наката требовалось rollforward db sample to end of backup and stop
а что нужно указать для newlogpath и с каким параметром вызвать rollforward?
...
Рейтинг: 0 / 0
05.09.2014, 16:07
    #38738827
db2 incremental backup/restore
ems2811,

1. При создании онлайн-бекапов указывать параметр INCLUDE LOGS, в этом случае в бекапе будут присутствовать лог-файлы, необходимые для восстановления.
2. При выполнении команды RESTORE указывать параметр LOGTARGET <путь к пустому каталогу>, тогда из резервной копии в указанный каталог будут распакованы лог-файлы.
3. После успешного выполнения RESTORE выполнить команду ROLLFORWARD для "доката" состояния базы по лог-файлам.
ROLLFORWARD DATABSE <имя базы> TO END OF LOGS AND COMPLETE OVERFLOW LOG PATH(<путь к каталогу из п.2>)

После этих манипуляций база должна стать доступной для подключения.
...
Рейтинг: 0 / 0
05.09.2014, 18:45
    #38738996
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
А при снятии офлайн дампа архивные журналы должны очищаться автоматически?
...
Рейтинг: 0 / 0
09.09.2014, 09:57
    #38741342
db2 incremental backup/restore
ems2811А при снятии офлайн дампа архивные журналы должны очищаться автоматически?
Нет, не должны.
Архивные журналы могут удаляться при выполнении PRUNE HISTORY .... AND DELETE, если соблюдены все условия.
PRUNE HISTORY/LOGFILE command .
...
Рейтинг: 0 / 0
03.10.2014, 10:15
    #38765664
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Вопрос ещё один появился. Сброс "точки сбора" для инкрементного дампа является полный офлайн дамп или полный онлайн дамп тоже сбросит её?
...
Рейтинг: 0 / 0
03.10.2014, 15:39
    #38766235
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
ems2811Вопрос ещё один появился. Сброс "точки сбора" для инкрементного дампа является полный офлайн дамп или полный онлайн дамп тоже сбросит её?Что такое "точка сбора"?
...
Рейтинг: 0 / 0
03.10.2014, 16:21
    #38766327
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Простите, опечатался. Точка сброса (С какого момента инкрементный дамп собирает изменения)
...
Рейтинг: 0 / 0
03.10.2014, 20:36
    #38766628
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Лучше переформулировать так: при снятии фул оффлайн бэкапа создается точка отсчета для инкрементных дампов (точка времени с которого все изменения данных в базе попадают в инкрементный дамп). Это распространяется только на фул оффлайн или фул онлайн тоже может?
...
Рейтинг: 0 / 0
03.10.2014, 21:11
    #38766645
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
ems2811,

Разницы между онлайн и офлайн архивами в логике взятия инкрементальных архивов нет.

Инкрементальные бывают:
1. инкрементальный - в него попадают все страницы данных, измененные с момента взятия последнего полного
2. инкрементальный дельта - в него попадают все страницы данных, измененные с момента взятия последнего полного или любого инкрементального
...
Рейтинг: 0 / 0
05.10.2014, 22:27
    #38767402
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Я правильно понимаю настройку. Если сделаю так:
num_db_backups 31
rec_his_retentn 31
auto_del_rec_obj ON
то я получу такой результат: если число архивов превысило 31 штуку - удаляются архивы и архивные логи старше 31 дня?
а если число архивов не превысит 31 то архивы старше 31 дня удалены не будут?
меня просто интересует такой момент: я собираюсь раз в месяц делать полную резервную копию в архив и нужно чтобы она не удалялась как минимум пол года. как это лучше организовать? (так же будут текущие архивы за месяц, которые должны будут перезаписываться по логике выше 6+1(инкрементный, полный), итого 31 текущий дамп) и так каждую неделю). Я может маниакально отношусь к резервированию, но всё-же
...
Рейтинг: 0 / 0
06.10.2014, 11:33
    #38767621
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
ems2811Я правильно понимаю настройку. Если сделаю так:
num_db_backups 31
rec_his_retentn 31
auto_del_rec_obj ON
то я получу такой результат: если число архивов превысило 31 штуку - удаляются архивы и архивные логи старше 31 дня?
а если число архивов не превысит 31 то архивы старше 31 дня удалены не будут?
меня просто интересует такой момент: я собираюсь раз в месяц делать полную резервную копию в архив и нужно чтобы она не удалялась как минимум пол года. как это лучше организовать? (так же будут текущие архивы за месяц, которые должны будут перезаписываться по логике выше 6+1(инкрементный, полный), итого 31 текущий дамп) и так каждую неделю). Я может маниакально отношусь к резервированию, но всё-же
Automating database recovery object management
num_db_backups - это про полные архивы, не включая инкрементальные.
Для ваших требований:
Код: plaintext
1.
2.
3.
num_db_backups 6
rec_his_retentn 183
auto_del_rec_obj ON
У вас всегда будут храниться 6 полных архивов, весь набор инкрементальных к ним, все журналы для этих архивов.
7-й и все последующие полные архивы, все инкрементальные для них, все журналы, не нужные для предыдущих 6-и полных архивов, будут удаляться, если эти полные архивы старше полугода.
...
Рейтинг: 0 / 0
06.10.2014, 14:20
    #38767885
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
немного пересмотрев свободное место, которое мне выделят для дампов. Тут вариант стал такой: нужно каждый день снимать полный дамп, накапливать максимум неделю (т.е. 7 полных дампов), а отдельно хранить дампы, которые снимаются раз в месяц (их число не ограничивать (только вручную удалять).
если настрою так:
num_db_backups 7
rec_his_retentn 7
auto_del_rec_obj ON
Приведу пример: 2 папки: current_dumps, archive_dumps.
В папке current_dumps должно быть не более 7 полных архивов (от инкремента пока что пришлось отказаться), они будут сниматься каждый день. В папке archive_dumps может быть неограниченное число архивов, но туда дамп будет сниматься только раз в месяц.
Вот для такой конфигурации настройка выше подойдёт или она по достижению 7 месяцев (7 дампов) начнет перезаписывать; если да то стерёт все или будет по одному?
PS: большое спасибо Mark Barinstein
...
Рейтинг: 0 / 0
06.10.2014, 15:26
    #38767988
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
ems2811,

В DB2 есть файл истории некоторых операций, в число которых входит архивы базы и архивы журналов (если вы используете архивное журналирование, а не циклическое, которое по-умолчанию).
Для просмотра архивов вы можете использовать запрос:
Код: plaintext
1.
2.
3.
select eid, start_time, operationtype, firstlog
from  sysibmadm.db_history 
where operation='B'
order by start_time
либо команду:
Код: plaintext
db2 list history backup [all | since  some_timestamp ] for db  mydb 

Вы можете выставить статус 'Do not delete' у нужных архивов и журналов к ним, то это надо делать отдельными командами вручную. Типа:
Код: plaintext
db2 "call admin_cmd('update history eid  N  with status X')"
где N - идентификатор объекта (архива базы или журнала) из предыдущей команды. В этом случае DB2 не будет учитывать / удалять эти архивы / журналы.

В вашем случае вы для каждого архива, который вы хотите удалять руками, должны после его взятия найти его идентификатор и выставить его статус в X, как показано выше.
И оставить параметры для остальных архивов:
Код: plaintext
1.
2.
num_db_backups 7
rec_his_retentn 7
auto_del_rec_obj ON
...
Рейтинг: 0 / 0
06.10.2014, 16:42
    #38768173
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Я правильно понял, что и логи для "архивных дампов тоже не будут удалятся"?
А если не ставить признак как вы указали: в архивной папке будет максимум за 7 месяцев (7 дампов)?
...
Рейтинг: 0 / 0
06.10.2014, 17:58
    #38768290
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
ems2811Я правильно понял, что и логи для "архивных дампов тоже не будут удалятся"?
Нет.
Если вы будете использовать архивное журналирование, то вам надо для своих архивов, которые вы хотите хранить долго, помечать все логи, начиная с firstlog и до конца, как "неудаляемые".
Смысл такой:
- Если вы хотите восстановиться из какого-то старого архива и потом докатиться по логам до текущей точки во времени, вам нужны все логи после firstlog. Т.е. разрешать db2 удалять логи вообще нельзя.
- Если вы хотите восстановиться из какого-то старого архива, но каких-то логов после lastlog из запроса для этого архива нет (они старые и уже удалены не важно кем), то вы не сможете докатиться до текущего времени по логам. Поскольку по-умолчанию в онлайновый архив включены логи, нужные для восстановления из него и накат до точки во времени = концу взятия архива, то вы получите базу на момент окончания того архива. Если вас это устраивает, логи вообще помечать "неудаляемыми" не надо.
ems2811А если не ставить признак как вы указали: в архивной папке будет максимум за 7 месяцев (7 дампов)?Если ничего не помечать, то архивы и логи для них будут удаляться для архивов, превысивших num_db_backups=7 И rec_his_retentn=7.
Например, при такой установке вы начали архивировать 2-жды в день. У вас будет храниться 14 архивов, т.к. только 15-й архив по счету больше, чем 7-й, И его возраст более 7-и дней. 14-й архив не будет удален, т.к. его возраст - не более 7 дней.
...
Рейтинг: 0 / 0
06.10.2014, 19:21
    #38768367
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Mark Barinstein- Если вы хотите восстановиться из какого-то старого архива, но каких-то логов после lastlog из запроса для этого архива нет (они старые и уже удалены не важно кем), то вы не сможете докатиться до текущего времени по логам. Поскольку по-умолчанию в онлайновый архив включены логи, нужные для восстановления из него и накат до точки во времени = концу взятия архива, то вы получите базу на момент окончания того архива. Если вас это устраивает, логи вообще помечать "неудаляемыми" не надо.
у меня при онлайн резервировании включено дополнительно INCLUDE LOGS (за удаление логов не опасаюсь)

Mark BarinsteinНапример, при такой установке вы начали архивировать 2-жды в день. У вас будет храниться 14 архивов, т.к. только 15-й архив по счету больше, чем 7-й, И его возраст более 7-и дней. 14-й архив не будет удален, т.к. его возраст - не более 7 дней.
Это не зависит от папки резервирования? вот 14 попали в архив (за неделю по вашему описанию), там продолжает работать до конца месяца (сохраняется 14 архивов (за последнюю неделю)). в конце месяца снял 2 дампа (в разные папки). Вопрос: через неделю когда дамп конца месяца стал старше 7 дней он удалится одновременно из 2х папок или только из одной в которой число дампов превысило 7 штук?
...
Рейтинг: 0 / 0
07.10.2014, 09:16
    #38768675
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
ems2811,

От каталога, в который делается архив, ничего не зависит.
...
Рейтинг: 0 / 0
07.10.2014, 10:31
    #38768751
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Спасибо Mark Barinstein. Теперь я понял достаточно чтобы организовать бэкапы.
...
Рейтинг: 0 / 0
08.10.2014, 10:18
    #38769986
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
чем дальше тем больше. Сейчас наткнулся на то, что кончилось место на диске из-за архивных логов. прописал команду (до этого снял бекап) prune history 20141008000000 with force option and delete, но файлы архивных логов не удалились. посмотрел команду list history archive log since 20141006000000 for db_name (время перехода на архивные логи) и результат всего 6 записей. Почему архивные логи (файлы) не удалилилсь?
...
Рейтинг: 0 / 0
08.10.2014, 10:22
    #38769991
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Сначала пробовал logfile prior to ... но тоже результата не дало. а перед prune history скопировал дамп в отдельную папку
...
Рейтинг: 0 / 0
09.10.2014, 21:17
    #38772358
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Разобрался. Оказалось prune logfile работает только при logarchmeth1= logretain (чистит логи в папке newlogpath/logpath). Перевел архивирование на logretain и написал скрипт по очистке логов (удаляются все младше начального лога последнего архива)
...
Рейтинг: 0 / 0
09.10.2014, 23:11
    #38772422
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
ems2811Разобрался. Оказалось prune logfile работает только при logarchmeth1= logretain (чистит логи в папке newlogpath/logpath). Перевел архивирование на logretain и написал скрипт по очистке логов (удаляются все младше начального лога последнего архива)
Вы могли бы добиться того же без скриптов, выставив:
Код: plaintext
1.
2.
num_db_backups 1
rec_his_retentn 0
auto_del_rec_obj ON
Архивы, которые вам нужны, и которые не надо удалять, вы могли либо пометить как неудаляемые, либо перемещать их в другое место, чтоб автоудаление их не нашло потом.
И вообще:
Important: The PRUNE LOGFILE command is deprecated and might be removed in a future release. Use the PRUNE HISTORY command instead.
...
Рейтинг: 0 / 0
10.10.2014, 12:10
    #38772957
ems2811
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 incremental backup/restore
Как только эта функция исчезнет - перепишу скрипты. Сейчас зато не надо заморачиваться с контролем какой бекап надо пометить как неудаляемый, а какой удалить. Либо копирование делать с контролем числа файлов
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 incremental backup/restore / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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