ARCH, ARCn - архиватор (Archiver), параметры ARCHIVE_LOG_START, LOG_ARCHIVE_MAX_PROCESS, представление V$ARCHIVE_PROCESSES

dbstalker, 04 июля

Этот фоновый процесс имеет смысл запускать, только если база данных работает в режиме ARCHIVELOG. Процесс копирует оперативные файлы журнала повторного выполнения в архивные файлы журнала повторного выполнения после заполнения оперативных журналов или их переключения.Процессом архивации можно управлять командой ALTER SYSTEM с конструкцией archive log:

alter system archive log current;
alter system archive log all;
alter system archive log next;
....

Следует также отметить, что на процесс создания архивных файлов непосредственно влияет переключение оперативных журналов по времени или по команде ALTER SYSTEM SWITCH LOGFILE.

Архивные файлы могут иметь несколько месторасположений(Том Кайт: избыточность – гарантия сохранности данных!).

Активизируется процесс архивации установкой параметра инициализации ARCHIVE_LOG_START в значение TRUE(до версии ORACLE 10g перевод базы данных в режим archivelog автоматически означал ручную архивацию, автоматическую архивацию необходимо было стартовать установкой указанного параметра или командами ARCHIVE LOG START, ALTER SYSTEM ARCHIVE LOG START). Для ORACLE 10g параметр ARCHIVE_LOG_START не используется: архивные процессы запускаются после перезапуска экземпляра, который нужно сделать после перехода в режим ARCHIVELOG.

По мере необходимости экземпляр самостоятельно запускает дополнительные процессы архивирования ARCn для того, чтобы успевать обрабатывать все заполненные журнальные файлы. Однако есть параметр инициализации LOG_ARCHIVE_MAX_PROCESS, который ограничивает количество запущенных при старте ( то есть изначальное число процессов) процессов (по умолчанию 2). Параметр этот динамический – изменять можно командой ALTER SYSTEM.

Не следует думать, что если Вы запустите процессов ARCn столько, сколько мест архивации, то каждый процесс будет архивировать в "своё" место. Практика показывает (проследите по своему alert.log), что это не так. Один процесс архивирует во все места. И только если он не успеет завершиться до того времени, как нужно будет архивировать следующий оперативный журнал, запускается следующий процесс.

Обратите внимание, что для ручной архивации (например, по команде alter system archive log current) работает процесс ARCH, при автоматической - ARCn. Это легко отследить по записям в alert.log.

Для большинства баз данных процесс архивирования практически не влияет на производительность, хотя нужно учитывать, что процессорное время все же расходуется.Поэтому нужно найти баланс между большим количеством процессов ARCn (расходуется процессорное время, но процесс архивации протекает быстро) и малым числом процессов ( не сказывается на производительности, но может возникнуть ситуация, когда все оперативные журналы будут ждать архивации и поэтому будут недоступны). Большее число процессов особенно оправдано, если архивные журналы имеют несколько месторасположений.

Состояние всех процессов архивирования можно посмотреть в представлении V$ARCHIVE_PROCESSES:

                               PROCESS STATUS                               LOG_SEQUENCE STATE     
-------------------------------------- ---------- -------------------------------------- ----------
                                     0 ACTIVE                                      92814 BUSY       
                                     1 ACTIVE                                          0 IDLE       
                                     2 STOPPED                                         0 IDLE       
                                     3 STOPPED                                         0 IDLE       
                                     4 STOPPED                                         0 IDLE       
                                     5 STOPPED                                         0 IDLE       
                                     6 STOPPED                                         0 IDLE       

IDLE -процесс прекративший работу.

2 комментария

Прокоментировать

denix1
9 июля 2008 г. в 19:04

возражу на счет:
1. "копированием полностью заполненного оперативного файла журнала повторного выполнения" - почитайте например про параметр ARCHIVE_LAG_TARGET, а так же про ALTER SYSTEM SWITCH LOGFILE;

2. параметр ARCHIVE_LOG_START устарел в 10-ке
если Вы не пишите про практически неподдерживаемую 9.2
то это стоило бы указать

dbstalker
10 июля 2008 г. в 10:58

Изменения сделаны. Благодарю за внимание к моим постам. Надеюсь на Ваше участие и в дальнейшем.

 

Новый комментарий

Я не спамер: введите суму 5+5



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Товары для взрослых
24 мая, 1 ответа
Выделенный сервер
23 мая, 3 ответа