是可以审核DROP TABLE和对特定表截断表。
这是我AUDIT_TRAIL参数,它的价值。
SQL> conn/as sysdba
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/orcl/adu
mp
audit_sys_operations boolean TRUE
audit_syslog_level string
audit_trail string DB, EXTENDED
unified_audit_sga_queue_size integer 1048576
我创建了一个名为tbl1的表格。
SQL> conn jay
Password:
Connected.
SQL> create table tbl1(id number);
Table created.
现在,让我们对该表启用审计。如果你在表上指定ALL
那么甲骨文将审计CREATE TABLE
,DROP TABLE
和TRUNCATE TABLE
操作。如果您希望oracle为每个审计语句和操作写入一条记录,请指定BY ACCESS
。
SQL> conn/as sysdba
SQL> audit all on jay.tbl1 by access; -- or just audit all on jay.tbl1
Audit succeeded.
使用Jay用户创建新会话并执行一些操作。
SQL> conn jay
SQL> truncate table tbl1;
Table truncated.
SQL> drop table tbl1;
Table dropped.
让我们来检查审计线索。
SQL> conn/as sysdba
SQL> select action_name from dba_audit_trail where obj_name='TBL1';
ACTION_NAME
----------------------------
DROP TABLE
TRUNCATE Table
感谢。但它不适用于我...我在用户A中创建表。然后我执行所有审计。然后执行命令..选择,插入等写在dba_audit_trail。但截断只是不.. – user2671057
最后,我用my_user审计表做它;谢谢! – user2671057
我在Oracle 12.2上面测试了代码,完全按照答案中的说明运行。我认为你正在使用不同的版本。 – JSapkota