SolidJournalClear Назад В начало Вперед

Тип

Да/Нет.

Назначение

Включает очистку журнала сплошным блоком, что даёт определённый выигрыш во времени выполнения операции.

Традиционный способ очистки пытается очистить журнал по максимуму.

Например, если срок хранения журнальной записи 2 недели, а в период 3 недели назад есть неразосланные по обмену в подсистеме Корпо записи, то эти записи не удаляются. Но записи, которые можно удалять между ними (пришедшие по обмену, не рассылаемые), будут удалены.

Такой способ очистки корректен, но работает не очень быстро.

При использовании режима SolidJournalClear записи между неудаляемыми записями не очищаются. В этом режиме программа определяет самую 'старую' запись, которую необходимо оставить (это либо первая неразосланная, либо последняя за последний удаляемый день), и очищает все записи до неё. На Oracle в этом случае обычный алгоритм (удаление всех записей сразу без использования блоков, см. параметр ClearJournalBlockSize) работает гораздо эффективнее.

При работе на платформе Oracle алгоритм обладает следующей особенностью: если последней операцией, подлежащей очистке в журнале, была групповая операция, то удалиться могут не все записи данной операции. Дело в том, что поиск последней записи, которая должна остаться, производится по неуникальному индексу, в котором последним сегментом является время. А время всех операций в групповой операции одно и то же. Поэтому может найтись не последняя запись, а какая-то другая.

По умолчанию параметр включен (ON).

Пример использования

SolidJournalClear=OFF