1 查看当前审计设置
sqlplus / as sysdba
show parameter audit
NAME TYPE VALUE
---------------------- -------- ---------------------------------------------
audit_file_dest string /usr/lib/oracle/xe/app/oracle/admin/XE/adump
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string DB_EXTENDED
audit_file_dest : 审计文件位置
audit_trail : 指定审计的类型:
none : 默认, 不进行审计
DB : 审计结果放在数据库表中 (aud$), 通常只记录连接的信息
DB_EXTENDED : 审计结果放在数据库表中, 记录具体执行语句
OS : 审计结果记录在操作系统文件中, 文件位置由 audit_file_dest 参数指定 (windows 系统中将直接在事件查看器的系统日志中记录)
XML:审计结果记录在 audit_file_dest 指定位置下的 XML 文件中
audit_sys_operations : 是否对 sysdba 用户做审计, 关于 sysdba 用户审计的结果, linux (audit_file_dest), windows (事件查看器的系统日志)
2 审计级别
statement : 按语句来审计, 如 audit table xxx
privilege : 按权限来审计, 如 audit select any table
object : 按对象来审计, 如 audit all on hr.employees by hr (只会对 hr 用户对 employees 表执行的操作做审计)
3 审计的其它相关选项
by access : 每个被审计的操作都会生成一条记录
by session : 每个会话里同类型操作只会生成一条记录 (默认值)
whenever successful : 操作成功才审计
whenever not successful : 操作失败才审计
4 查询审计结果的视图
dba_audit_trail : 查看所有的普通审计记录
dba_fga_audit_trail : 查看所有细粒度审计记录
sys.aud$ : 审计结果实际存放的系统表
5 取消审计
noaudit select any table
6 开启审计
6-1 设置审计类型并重启数据库
alter system set audit_trail = db_extended scope=spfile;
6-2 审计用户对表操作
SQL> audit table;
6-3 切换用户后执行操作
conn go/go
create table t (a int);
6-4 管理员登录查看审计结果
conn / as sysdba
select username, sql_text from dba_audit_trail;
6-5 审计系统管理员操作
alter system set audit_sys_operations = true scope=spfile;
conn / as sysdba
create table t (a int);
6-6 查看系统管理员审计结果 (audit file)
dml 语句不 commit 也会被审计, 即使是 rollback 也会将审计结果保留下来
sqlplus / as sysdba
show parameter audit
NAME TYPE VALUE
---------------------- -------- ---------------------------------------------
audit_file_dest string /usr/lib/oracle/xe/app/oracle/admin/XE/adump
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string DB_EXTENDED
audit_file_dest : 审计文件位置
audit_trail : 指定审计的类型:
none : 默认, 不进行审计
DB : 审计结果放在数据库表中 (aud$), 通常只记录连接的信息
DB_EXTENDED : 审计结果放在数据库表中, 记录具体执行语句
OS : 审计结果记录在操作系统文件中, 文件位置由 audit_file_dest 参数指定 (windows 系统中将直接在事件查看器的系统日志中记录)
XML:审计结果记录在 audit_file_dest 指定位置下的 XML 文件中
audit_sys_operations : 是否对 sysdba 用户做审计, 关于 sysdba 用户审计的结果, linux (audit_file_dest), windows (事件查看器的系统日志)
2 审计级别
statement : 按语句来审计, 如 audit table xxx
privilege : 按权限来审计, 如 audit select any table
object : 按对象来审计, 如 audit all on hr.employees by hr (只会对 hr 用户对 employees 表执行的操作做审计)
3 审计的其它相关选项
by access : 每个被审计的操作都会生成一条记录
by session : 每个会话里同类型操作只会生成一条记录 (默认值)
whenever successful : 操作成功才审计
whenever not successful : 操作失败才审计
4 查询审计结果的视图
dba_audit_trail : 查看所有的普通审计记录
dba_fga_audit_trail : 查看所有细粒度审计记录
sys.aud$ : 审计结果实际存放的系统表
5 取消审计
noaudit select any table
6 开启审计
6-1 设置审计类型并重启数据库
alter system set audit_trail = db_extended scope=spfile;
6-2 审计用户对表操作
SQL> audit table;
6-3 切换用户后执行操作
conn go/go
create table t (a int);
6-4 管理员登录查看审计结果
conn / as sysdba
select username, sql_text from dba_audit_trail;
6-5 审计系统管理员操作
alter system set audit_sys_operations = true scope=spfile;
conn / as sysdba
create table t (a int);
6-6 查看系统管理员审计结果 (audit file)
dml 语句不 commit 也会被审计, 即使是 rollback 也会将审计结果保留下来
0 件のコメント:
コメントを投稿