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

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

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

Когда журнал закрывается, он копируется в папку с архивными журналами (т.е. архивируется).
Журнал может закрываться по разным причинам, например, когда он заполнился, или завершился онлайновый архив.
Где бы ни находились журналы, желательно не удалять те, которые нужны для восстановления из этого архива, особенно если вы не используете опцию include logs для онлайнового архива.
...
Рейтинг: 0 / 0
удаление старых бэкапов в 8.1
    #37470384
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как быть с логами которые хранятся по альтернативному адресу? Я пока не указывал место хранения. Меня вот интересует, что там будет храниться: все логи или только активные(а старые в архив)?
...
Рейтинг: 0 / 0
удаление старых бэкапов в 8.1
    #37470408
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще. Если, например, каждый час (можно еще и очистить предварительно db2 prune logfile) и архивировать всю директорию корневую для активных и архивных логов на рабочей системе(прям архиватором по живому), то потом по этим логам и соответствующему бэкапу можно будет восстановить базу до момента последней архивации? И не повлияет это на работу базы(архиватор по идее открывает на чтение)?
...
Рейтинг: 0 / 0
удаление старых бэкапов в 8.1
    #37470545
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Альтернативный адрес" - это который в 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
удаление старых бэкапов в 8.1
    #37470619
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, я так понимаю, надо еще одну программу писать опять чтоб там выбирать архивы и удалять логи старше первого лога для необходимого архива. Что ж за жизнь такая. Спасибо за sql запрос, он мне очень понадобится. Все ж легче чем парсить ответ команды.
...
Рейтинг: 0 / 0
удаление старых бэкапов в 8.1
    #37471037
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для виндов существует чудесная програмка fpurge, удаляющая файлы старше указанного срока. Для *x-ов аналогичное делают через
find какиетопараметры| rm какиетопараметры
Поставить в schedule и не беспокоиться.

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


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