Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / удаление старых бэкапов в 8.1 / 12 сообщений из 12, страница 1 из 1
04.10.2011, 14:11
    #37467144
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
Доброго дня!
Настроил автоматическое резервное копирование(полное). Журналов не использую(пока не использую). Каким образом можно старые бекапы удалять? Есть значения по времени хранения старых бекапов и я их настроил(num_db_backups и rec_his_retentn). Толку нет. Насколько я понял из документации это не работает без auto_del_rec_obj. Но в 8.1 auto_del_rec_obj нет. Странно, зачем тогда это нужно. Как быть подскажите? Можно конечно написать прогу для удаления, но может чего-то есть штатное?
...
Рейтинг: 0 / 0
04.10.2011, 16:02
    #37467431
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
Андрей Васильевич,

Здравствуйте.

Эти параметры нужны для ведения 'Recovery history file'.
Если надо удалять старые архивы, то в 8 надо самому программу писать.
...
Рейтинг: 0 / 0
04.10.2011, 17:15
    #37467640
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
По поводу журналирования уже: правильно ли я понимаю, что директорию для архивных журналов можно очищать после создания очередных журналов? Туда ведь переносятся после резервного копирования устаревшие журналы?
...
Рейтинг: 0 / 0
04.10.2011, 17:38
    #37467701
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
Андрей Васильевичправильно ли я понимаю, что директорию для архивных журналов можно очищать после создания очередных журналов? Туда ведь переносятся после резервного копирования устаревшие журналы?Если ваша база находится в режиме архивации журналов, то вы имеете возможность накатывать по ним базу (rollforward) после восстановления из архива (restore).
Для каждого архива (A) есть журнал с минимальным номером (N), начиная с которого все журналы нужны.
Если этот архив A - самый старый из тех, с которых вы планируете восстанавливаться и накатываться по журналам до конца, то журналы с номерами меньше N вам не нужны.
...
Рейтинг: 0 / 0
05.10.2011, 10:07
    #37468477
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
Понимаю. Я не правильно сформулировал вопрос. Бекапы периодически создаются и после этого журналы сжимаются и копируются в папку архивных журналов из папки где накапливаются журналы. Если я правильно понял, то в папке, куда копируются журналы после создания бекапа, можно удалять все файлы(если считать, что необходим только последний бекап+его журналы)? Я так понимаю - да.
...
Рейтинг: 0 / 0
05.10.2011, 11:29
    #37468680
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
Андрей Васильевич,

Когда журнал закрывается, он копируется в папку с архивными журналами (т.е. архивируется).
Журнал может закрываться по разным причинам, например, когда он заполнился, или завершился онлайновый архив.
Где бы ни находились журналы, желательно не удалять те, которые нужны для восстановления из этого архива, особенно если вы не используете опцию include logs для онлайнового архива.
...
Рейтинг: 0 / 0
06.10.2011, 09:50
    #37470384
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
А как быть с логами которые хранятся по альтернативному адресу? Я пока не указывал место хранения. Меня вот интересует, что там будет храниться: все логи или только активные(а старые в архив)?
...
Рейтинг: 0 / 0
06.10.2011, 10:04
    #37470408
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
И еще. Если, например, каждый час (можно еще и очистить предварительно db2 prune logfile) и архивировать всю директорию корневую для активных и архивных логов на рабочей системе(прям архиватором по живому), то потом по этим логам и соответствующему бэкапу можно будет восстановить базу до момента последней архивации? И не повлияет это на работу базы(архиватор по идее открывает на чтение)?
...
Рейтинг: 0 / 0
06.10.2011, 11:17
    #37470545
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
"Альтернативный адрес" - это который в failarchpath указан?
Вы бы лучше имена параметров указывали, например отсюда:
Configuration parameters for database logging

Архивировать активные журналы - плохая идея, архиватор может сжать непонятно что, если в момент его работы в файл происходит запись.
Если вы хотите использовать prune logfile, то имейте ввиду, что оно не будет удалять архивные журналы из путей с архивными журналами ( logarchmeth[1|2] ), если вы их укажете. Оно будет работать только если архивные и активные журналы лежат в одном месте (т.е. если logarchmeth[1|2] не указаны).

Вы можете указать путь к архивным журналам (logarchmeth1) и использовать такой запрос для получения списка всех архивов и первого нужного журнала для каждого архива:
Код: plaintext
1.
2.
3.
SELECT t.start_time, t.firstlog, t.location
FROM TABLE(SYSPROC.ADMIN_LIST_HIST()) T
WHERE OPERATION = 'B' and OPERATIONTYPE IN ('F', 'N') and OBJECTTYPE='D' and sqlcode is null
order by start_time desc
Основываясь на этом запросе, вы можете перед сжатием всех файлов из logarchmeth1 удалять все ненужные.
...
Рейтинг: 0 / 0
06.10.2011, 11:54
    #37470619
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
Короче, я так понимаю, надо еще одну программу писать опять чтоб там выбирать архивы и удалять логи старше первого лога для необходимого архива. Что ж за жизнь такая. Спасибо за sql запрос, он мне очень понадобится. Все ж легче чем парсить ответ команды.
...
Рейтинг: 0 / 0
06.10.2011, 15:05
    #37471037
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
Для виндов существует чудесная програмка fpurge, удаляющая файлы старше указанного срока. Для *x-ов аналогичное делают через
find какиетопараметры| rm какиетопараметры
Поставить в schedule и не беспокоиться.

Копирование архивных логов можно настроить через userexit (см. SQLLIB\samples\c\db2uext2.cdisk). В старые времена, под OS/2, для userexit поддерживался REXX и в комплекте шёл скрипт-пример, который не только настраивал, но и zip-овал, раз-zip-овывал. К сожалению, поддержку REXX'а давным давно отрубили, однако, наверное, человеку, мало-мальски знакомому с C, будет несложно не просто копировать, но и вызвать архиватор.
...
Рейтинг: 0 / 0
06.10.2011, 15:49
    #37471145
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
удаление старых бэкапов в 8.1
Спасибо за наводку! Как-то совсем забыл про примеры на "с". Я уже для бэкапов уже сделал программулину(кстати добавил туда архивирование 7z и еще сжимает до 80-90%). Единственное если вызывать из винды(назначенные задания) то работает нормально, а вот если из Task Center запускается то копирование не происходит(пробовал вызывать досовскую copy, WINAPI-шную CopyFile и SHFileOperation). Единственный момент: диск на который происходит копирование это папка на другом компьютере подсоединенная как диск(то есть адресация не \\1.2.3.4\x\y а F:\y). Поэтому немного не удобно. Приходится Брать время с запасом, чтоб время создания бэкапа не перекрывалось с архивированием и копированием. Если кто сталкивался посоветуйте.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / удаление старых бэкапов в 8.1 / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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