如果您只想对选定对象启用审核,那么您可以在不退回数据库实例的情况下执行此操作。审计跟踪默认设置为DB。
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/orcl/adu
mp
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string DB
您需要做的就是对该对象启用所需的审核。
SQL> conn jay
Enter password:
Connected.
SQL> audit select on my_table;
Audit succeeded.
SQL> conn system
Enter password:
Connected.
SQL> select * from jay.my_table;
no rows selected
可以从USER_AUDIT_OBJECT视图访问审计信息。
SQL> conn jay
Enter password:
Connected.
SQL> select username, action_name from user_audit_object where obj_name='MY_TABLE';
USERNAME ACTION_NAME
------------------------------ ----------------------------
SYSTEM SESSION REC
但是,如果您需要为 sysdba/sysoper 特权用户(例如 sys)启用审核,则需要将 audit_sys_operations 参数设置为 true,这反过来又需要关闭数据库。
此外,如果您使用的是 Oracle 12c,则默认情况下 AUDIT_SYS_OPERATIONS 设置为 true。
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/orcl/adump
audit_sys_operations boolean TRUE
audit_syslog_level string
audit_trail string DB