Скрипты для работы с aiarchiver

Обсуждение вопросов по администрированию СУБД Progress OpenEdge
rda
Старожил
Сообщения: 29
Зарегистрирован: 22 июл 2004, 14:58
Откуда: г. Пермь

Скрипты для работы с aiarchiver

Сообщение rda » 11 июн 2009, 07:01


Аватара пользователя
Старожыл
Старожил
Сообщения: 175
Зарегистрирован: 20 авг 2007, 06:40
Откуда: Алматы, Казахстан

Re: Скрипты для работы с aiarchiver

Сообщение Старожыл » 11 июн 2009, 12:15

Последний раз редактировалось Старожыл 07 окт 2011, 09:52, всего редактировалось 1 раз.
私は進歩のデータベースの管理者である。

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Скрипты для работы с aiarchiver

Сообщение George » 11 июн 2009, 21:35

Цикл жизни AI файлов состоит из 3 фаз:
1) Оттаскивание от базы заполненных AI файлов, что позволяет базе повторно использовать AI экстенты;
2) Перенос AI файлов на место их долговременного упокоения (перенос на другую машину, сброс на ленточку и т.п.);
3) Накат AI файлов на копию базы.

Aiarchiver полностью берет на себя первую фазу и ни каким боком не участвует в двух оставшихся этапах. Но при этом несколько затрудняет их реализацию... Скрипты, которые осуществляли вторую и третью фазу, могут использоваться и с aiarchiver'ом, но нужно учесть, что на копирование AI файла требуется время. Раньше один и тот же скрипт мог выполнять первую и вторую фазу и синхронизировать процессы требовалось только на третьем этапе. Теперь это требуется на границе каждого этапа.

Раньше можно было бы использовать "оптимистическую" синхронизацию - если AI файлы переключаются по cron'у с интервалом T секунд, то следующий этап (скрипт) может стартоваться cron'ом со сдвигом T/2. Этого сдвига должно быть более чем достаточно, чтобы файл успел скопироваться (учитывая, что файл "заполнялся" базой втечении T секунд). Про aiarchiver, даже если он работает с заданным интервалом, мы не можем сказать когда точно он начнет копировать файл хотя бы потому, что не знаем когда была запущена база.

Может кто-нибуть проверял копирует ли aiarchiver каждый файл сразу с тем именем, которое у него остается в итоге? На больших AI файлах должно хватить времени, чтобы это заметить. Если файл сначала копируется под одним именем, а потом переименовывается, то несложно написать скрипт, который будет отслеживать появление в указанном каталоге файла с правильным именем и далее перебрасывать его куда надо. Если нет, то надо как-то исхитряться. Например, обрабатывать все файлы в каталоге кроме последнего. Или парсить db.archival.log (опять нужно проверить, что запись там делается после завершения копирования файла).

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Скрипты для работы с aiarchiver

Сообщение George » 11 июн 2009, 22:02

Проверил под Windows. Aiarchiver копирует AI файл сразу с тем именем, которое у него потом и остается. Сообщение в db.archival.log пишется, когда копирование уже завершено. Т.е. можно проверять этот лог и обрабатывать все файлы, которые там упоминаются. Так даже лучше потому, что не нужно закладываться на каталог, в который копируются файлы (-aiarcdir). Тем более, что каталогов может быть несколько и их список можно поменять в любой момент.

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва

Re: Скрипты для работы с aiarchiver

Сообщение dmi » 06 окт 2011, 20:36

/dmi

http://pro4gl.ru - 4gl блог