Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Добрый день. Посмотрел схожие темы и не нашёл того что интересует. в 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 помогает, но тяжеловато вопрос как правильно накатить офлайн дамп и на него инкерементный. И при снятии офлайн дампа архивные журналы должны очищаться автоматически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 09:51 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
ems2811, вообще, для автоматического восстановления (automatic) из цепочки инкрементальных бэкапов нужен файл истории, а вы его удалили восстанавливайте из фулл бэкапа он похоже оффлайн, тогда rollforward для него не нужен потом пробуйте restore db sample incremental from ... newlogpath ... & rollforward ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 13:43 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Скорее всего чего-то недопонимаю: инкрементный дамп содержит в себе все изменения с момента последнего офлайн дампа. Ничего не откуда не удалял и инкементный бэкап делал только 1 раз (его и пытаюсь восстановить). Делал все в точности со своим описанием. Дамп делал офлайн. Но даже после его наката требовалось rollforward db sample to end of backup and stop а что нужно указать для newlogpath и с каким параметром вызвать rollforward? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 15:42 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
ems2811, 1. При создании онлайн-бекапов указывать параметр INCLUDE LOGS, в этом случае в бекапе будут присутствовать лог-файлы, необходимые для восстановления. 2. При выполнении команды RESTORE указывать параметр LOGTARGET <путь к пустому каталогу>, тогда из резервной копии в указанный каталог будут распакованы лог-файлы. 3. После успешного выполнения RESTORE выполнить команду ROLLFORWARD для "доката" состояния базы по лог-файлам. ROLLFORWARD DATABSE <имя базы> TO END OF LOGS AND COMPLETE OVERFLOW LOG PATH(<путь к каталогу из п.2>) После этих манипуляций база должна стать доступной для подключения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 16:07 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
А при снятии офлайн дампа архивные журналы должны очищаться автоматически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2014, 18:45 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
ems2811А при снятии офлайн дампа архивные журналы должны очищаться автоматически? Нет, не должны. Архивные журналы могут удаляться при выполнении PRUNE HISTORY .... AND DELETE, если соблюдены все условия. PRUNE HISTORY/LOGFILE command . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2014, 09:57 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Вопрос ещё один появился. Сброс "точки сбора" для инкрементного дампа является полный офлайн дамп или полный онлайн дамп тоже сбросит её? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 10:15 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
ems2811Вопрос ещё один появился. Сброс "точки сбора" для инкрементного дампа является полный офлайн дамп или полный онлайн дамп тоже сбросит её?Что такое "точка сбора"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 15:39 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Простите, опечатался. Точка сброса (С какого момента инкрементный дамп собирает изменения) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 16:21 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Лучше переформулировать так: при снятии фул оффлайн бэкапа создается точка отсчета для инкрементных дампов (точка времени с которого все изменения данных в базе попадают в инкрементный дамп). Это распространяется только на фул оффлайн или фул онлайн тоже может? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 20:36 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
ems2811, Разницы между онлайн и офлайн архивами в логике взятия инкрементальных архивов нет. Инкрементальные бывают: 1. инкрементальный - в него попадают все страницы данных, измененные с момента взятия последнего полного 2. инкрементальный дельта - в него попадают все страницы данных, измененные с момента взятия последнего полного или любого инкрементального ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 21:11 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Я правильно понимаю настройку. Если сделаю так: num_db_backups 31 rec_his_retentn 31 auto_del_rec_obj ON то я получу такой результат: если число архивов превысило 31 штуку - удаляются архивы и архивные логи старше 31 дня? а если число архивов не превысит 31 то архивы старше 31 дня удалены не будут? меня просто интересует такой момент: я собираюсь раз в месяц делать полную резервную копию в архив и нужно чтобы она не удалялась как минимум пол года. как это лучше организовать? (так же будут текущие архивы за месяц, которые должны будут перезаписываться по логике выше 6+1(инкрементный, полный), итого 31 текущий дамп) и так каждую неделю). Я может маниакально отношусь к резервированию, но всё-же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2014, 22:27 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
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. 7-й и все последующие полные архивы, все инкрементальные для них, все журналы, не нужные для предыдущих 6-и полных архивов, будут удаляться, если эти полные архивы старше полугода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2014, 11:33 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
немного пересмотрев свободное место, которое мне выделят для дампов. Тут вариант стал такой: нужно каждый день снимать полный дамп, накапливать максимум неделю (т.е. 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2014, 14:20 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
ems2811, В DB2 есть файл истории некоторых операций, в число которых входит архивы базы и архивы журналов (если вы используете архивное журналирование, а не циклическое, которое по-умолчанию). Для просмотра архивов вы можете использовать запрос: Код: plaintext 1. 2. 3. Код: plaintext Вы можете выставить статус 'Do not delete' у нужных архивов и журналов к ним, то это надо делать отдельными командами вручную. Типа: Код: plaintext В вашем случае вы для каждого архива, который вы хотите удалять руками, должны после его взятия найти его идентификатор и выставить его статус в X, как показано выше. И оставить параметры для остальных архивов: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2014, 15:26 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Я правильно понял, что и логи для "архивных дампов тоже не будут удалятся"? А если не ставить признак как вы указали: в архивной папке будет максимум за 7 месяцев (7 дампов)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2014, 16:42 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
ems2811Я правильно понял, что и логи для "архивных дампов тоже не будут удалятся"? Нет. Если вы будете использовать архивное журналирование, то вам надо для своих архивов, которые вы хотите хранить долго, помечать все логи, начиная с firstlog и до конца, как "неудаляемые". Смысл такой: - Если вы хотите восстановиться из какого-то старого архива и потом докатиться по логам до текущей точки во времени, вам нужны все логи после firstlog. Т.е. разрешать db2 удалять логи вообще нельзя. - Если вы хотите восстановиться из какого-то старого архива, но каких-то логов после lastlog из запроса для этого архива нет (они старые и уже удалены не важно кем), то вы не сможете докатиться до текущего времени по логам. Поскольку по-умолчанию в онлайновый архив включены логи, нужные для восстановления из него и накат до точки во времени = концу взятия архива, то вы получите базу на момент окончания того архива. Если вас это устраивает, логи вообще помечать "неудаляемыми" не надо. ems2811А если не ставить признак как вы указали: в архивной папке будет максимум за 7 месяцев (7 дампов)?Если ничего не помечать, то архивы и логи для них будут удаляться для архивов, превысивших num_db_backups=7 И rec_his_retentn=7. Например, при такой установке вы начали архивировать 2-жды в день. У вас будет храниться 14 архивов, т.к. только 15-й архив по счету больше, чем 7-й, И его возраст более 7-и дней. 14-й архив не будет удален, т.к. его возраст - не более 7 дней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2014, 17:58 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein- Если вы хотите восстановиться из какого-то старого архива, но каких-то логов после lastlog из запроса для этого архива нет (они старые и уже удалены не важно кем), то вы не сможете докатиться до текущего времени по логам. Поскольку по-умолчанию в онлайновый архив включены логи, нужные для восстановления из него и накат до точки во времени = концу взятия архива, то вы получите базу на момент окончания того архива. Если вас это устраивает, логи вообще помечать "неудаляемыми" не надо. у меня при онлайн резервировании включено дополнительно INCLUDE LOGS (за удаление логов не опасаюсь) Mark BarinsteinНапример, при такой установке вы начали архивировать 2-жды в день. У вас будет храниться 14 архивов, т.к. только 15-й архив по счету больше, чем 7-й, И его возраст более 7-и дней. 14-й архив не будет удален, т.к. его возраст - не более 7 дней. Это не зависит от папки резервирования? вот 14 попали в архив (за неделю по вашему описанию), там продолжает работать до конца месяца (сохраняется 14 архивов (за последнюю неделю)). в конце месяца снял 2 дампа (в разные папки). Вопрос: через неделю когда дамп конца месяца стал старше 7 дней он удалится одновременно из 2х папок или только из одной в которой число дампов превысило 7 штук? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2014, 19:21 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
ems2811, От каталога, в который делается архив, ничего не зависит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 09:16 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Спасибо Mark Barinstein. Теперь я понял достаточно чтобы организовать бэкапы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2014, 10:31 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
чем дальше тем больше. Сейчас наткнулся на то, что кончилось место на диске из-за архивных логов. прописал команду (до этого снял бекап) prune history 20141008000000 with force option and delete, но файлы архивных логов не удалились. посмотрел команду list history archive log since 20141006000000 for db_name (время перехода на архивные логи) и результат всего 6 записей. Почему архивные логи (файлы) не удалилилсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 10:18 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Сначала пробовал logfile prior to ... но тоже результата не дало. а перед prune history скопировал дамп в отдельную папку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2014, 10:22 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Разобрался. Оказалось prune logfile работает только при logarchmeth1= logretain (чистит логи в папке newlogpath/logpath). Перевел архивирование на logretain и написал скрипт по очистке логов (удаляются все младше начального лога последнего архива) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 21:17 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
ems2811Разобрался. Оказалось prune logfile работает только при logarchmeth1= logretain (чистит логи в папке newlogpath/logpath). Перевел архивирование на logretain и написал скрипт по очистке логов (удаляются все младше начального лога последнего архива) Вы могли бы добиться того же без скриптов, выставив: Код: plaintext 1. 2. И вообще: Important: The PRUNE LOGFILE command is deprecated and might be removed in a future release. Use the PRUNE HISTORY command instead. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2014, 23:11 |
|
||
|
db2 incremental backup/restore
|
|||
|---|---|---|---|
|
#18+
Как только эта функция исчезнет - перепишу скрипты. Сейчас зато не надо заморачиваться с контролем какой бекап надо пометить как неудаляемый, а какой удалить. Либо копирование делать с контролем числа файлов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 12:10 |
|
||
|
|

start [/forum/search_topic.php?author=MishailBrodetski&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 721ms |
| total: | 895ms |

| 0 / 0 |
