Oracle XE audit_trail не сохраняется для всех пользователей - PullRequest
0 голосов
/ 25 апреля 2018

Я включил аудит на своем сервере Oracle XE с помощью следующего запуска пользователя sys:

SQL> ALTER SYSTEM SET audit_sys_operations=true SCOPE=spfile;
SQL> ALTER SYSTEM SET audit_trail=XML,EXTENDED SCOPE=spfile;
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP

Когда я запускаю запросы как пользователь sys, файл xml записывает запросы врасположение по умолчанию (например, /u01/app/oracle/admin/XE/adump/xe_ora_2339_1.xml).Однако, если я запускаю запрос от имени другого пользователя (например, test_user), ни в одном из файлов в каталоге adump не происходит никаких обновлений.

Я подтвердил, что параметр установлен для test_user:

SQL> show parameter audit;
NAME                     TYPE    VALUE
------------------------ ------- ------------------------------
audit_file_dest          string  /u01/app/oracle/admin/XE/adump
audit_sys_operations     boolean TRUE
audit_syslog_level       string
audit_trail              string  XML, EXTENDED

Я также попытался перезапустить сеанс sqlplus (т. Е. Восстановить соединение с test_user), а также отключить audit_sys_operations, и проблема остается.

Информация о версии: Oracle Database 11g Express Edition, выпуск 11.2.0.2.0 - 64-битная версия (через этот образ докера ).

1 Ответ

0 голосов
/ 25 апреля 2018

Моя проблема заключалась в том, что помимо включения аудита мне также нужно было указать, что проверять, с помощью команды AUDIT.В моем случае я хотел все, поэтому добавил следующее (команды, упомянутые в этого учебного пособия ):

SQL> AUDIT ALL;  # note: it seems like the next two statements would be included with "all", but I didn't verify this.
SQL> AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE;
SQL> AUDIT EXECUTE PROCEDURE;

Обратите внимание, что при AUDIT_TRAIL = XML, EXTENDED (и, может быть, весь файлна основе параметров аудита?), похоже, что существует некоторая буферизация при записи XML-файла, так как я не получил запрос, отображаемый до тех пор, пока тестовый пользователь не отключился, поэтому, если вы пропустили запись в журнале, попробуйте выйти из него впосмотрим, появится ли он.

...