Управление логированием BLOB-данных
Функция
Запрещает/разрешает записывать в системный журнал BLOB-данные.
Спецификация
::=
Синтаксические правила
-
Опция
ON
разрешает (значение по умолчанию),OFF
– запрещает записывать в системный журнал BLOB-данные при выполнении транзакции в режимеEXCLUSIVE
(PESSIMISTIC
). В режимеAUTOCOMMIT
данная конструкция игнорируется (полное логирование в системный журнал BLOB-данных всегда отключено).
Общие правила
-
Команда действует на всё соединение (т. е. и на все каналы открытые в данном соединении).
-
Команда не предназначена для работы с системой горячего резервирования.
-
Если задан режим
LOG ON
, то все изменения BLOB-данных таблицы записываются в системный журнал и при фиксации транзакции (COMMIT
) переносятся в соответствующие BLOB-файлы этой таблицы. -
Если задан режим
LOG ON
, то для обеспечения возможности «теплого рестарта» СУБД обработка BLOB-данных выполняется следующим образом:-
добавляемые во время транзакции BLOB-данные записываются одновременно в BLOB-файлы таблицы и в системный журнал;
-
удаляемые BLOB-данные записываются в системный журнал только при подтверждении транзакции (т.е. после подачи команды
COMMIT
, когда они реально удаляются из BLOB-файлов).
-
-
Если задан режим
LOG OFF
, то все изменения BLOB-данных (т.е. удаление/добавление страниц BLOB-файла) выполняются непосредственно в самих BLOB-файлах таблицы, а в системном журнале делается только отметка об удаленных (или добавленных) в BLOB-файле страницах. При фиксации транзакции (COMMIT
) добавленные страницы принудительно сбрасываются в БД, а страницы, помеченные как «удаленные», реально удаляются из BLOB-файлов без сохранения BLOB-данных в системном журнале. -
При откате транзакции (
ROLLBACK
) «удаленные» страницы остаются в прежних BLOB-файлах, а добавленные очищаются тоже без сохранения BLOB-данных в журнале. -
Использование режима
LOG OFF
повышает производительность СУБД при выполнении транзакций с BLOB-данными, но при этом «теплый рестарт» не гарантирует откат незаконченного подтверждения (COMMIT
) транзакции, содержащей удаление BLOB-данных (удаление будет продолжено). Физическая непротиворечивость БД гарантируется.