1、数据库审计
如果开启了审计功能,那么结果会保存到 sys.aud$ (基表)这张表中,表中有个sqltext字
段,是用来记录sql语句的,但是默认DB级别不会填充该字段,如果需要记录sql语句,可以将
2、审计的类型
审计类型表 drop/create/alter table 语句都会记录
审计类型用户 drop/create/alter user 语句都会记录
针对某个用户,该用户有某个系统权限,如果这个系统权限使用了,那么就会被记录。
针对某个对象(表),谁访问过他,谁修改过它等等,那么就要进行记录。
它是默认值,意思就是同一个会话里面,如果你有相同的操作,有多少它记录多少,哪怕是重复
的语句。create table aaa; create table aaa;
意思是在同一个会话里面,如果你有相同的操作,只记录一次。注意by session是无法审计DDL
SQL> audit table by scott by session;
audit table by scott by session
ORA-32595: DDL statement cannot be audited with BY SESSION specified
意思是只记录失败的操作。不包含编译错误。create table abc;
SQL> audit table by scott by access; 针对scott用户开启了表级别的语句审计
注意:每次开启审计或取消审计的时候,用户都必须重新登陆才能生效。
SQL> create table abc(id number); 不管是成功还是失败,都会记录,而且重复的
SQL> audit table by scott by session; --语句级别审计不可以by session
audit table by scott by session
ORA-32595: DDL statement cannot be audited with BY SESSION specified