Я пытаюсь использовать Oracle LogMiner (пакет DBMS_LOGMNR
) для реализации функциональности журналов аудита на основе журналов повторов. Но каждый раз, когда я запрашиваю V$LOGMNR_CONTENTS
, он создает несколько больших (до 50 МБ) архивных файлов журналов в области флэш-восстановления (SELECT NAME FROM V$RECOVERY_FILE_DEST
), несмотря на то, что в моей тестовой БД было только несколько транзакций в час. После нескольких раз использования Oracle LogMiner все пространство в области флэш-восстановления используется и Oracle перестает работать.
Есть ли способ запретить Oracle LogMiner создавать архивные журналы в области флэш-восстановления?
Я инициализирую Oracle LogMiner следующим образом:
SYS.DBMS_LOGMNR_D.BUILD(options => SYS.DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);
SYS.DBMS_LOGMNR.START_LOGMNR(startScn => PREV_SCN, endScn => NEXT_SCN,
options =>
SYS.DBMS_LOGMNR.COMMITTED_DATA_ONLY +
SYS.DBMS_LOGMNR.DICT_FROM_REDO_LOGS +
SYS.DBMS_LOGMNR.SKIP_CORRUPTION +
SYS.DBMS_LOGMNR.CONTINUOUS_MINE
);
Расстояние между PREV_SCN и NEXT_SCN всегда мало в моем случае и охватывает только несколько транзакций.
Когда я использую ALTER DATABASE NOARCHIVELOG;
для отключения архивированных журналов, DBMS_LOGMNR_D.BUILD
повышает ORA-01325
: режим архивного журнала должен быть включен для встраивания в поток журналов.