Oracle数据库审计功能的使用

查看审计功能是否开启

  show parameter audit;

audit_sys_operations:默认为false,当设置为true时,所有sys用户(包括以sysdba,sysoper身份登录的用户)的操作都会被记录,audit trail不会写在aud$表中,这个很好理解,如果数据库还未启动aud$不可用,那么像conn / as sysdba这样的连接信息,只能记录在其它地方。如果是windows平台,audti trail会记录在windows的事件管理中,如果是linux/unix平台则会记录在audit_file_dest参数指定的文件中。
audit_trail:None:是默认值,不做审计;DB:将audit trail 记录在数据库的审计相关表中,如aud,审计的结果只有连接信息;DB,Extended:这样审计结果里面除了连接信息还包含了当时执行的具体语句;OS:将audit trail 记录在操作系统文件中,文件名由audit_file_dest参数指定;

开启审计功能:

	SQL> alter system set audit_sys_operations=TRUE scope=spfile;--审计管理用户(以sysdba/sysoper角色登陆)
   	SQL> alter system set audit_trail=db,extended scope=spfile;

关闭审计功能:

       SQL> conn /as sysdba
       SQL> show parameter audit
       SQL> alter system set audit_trail = none scope=spfile;

关闭审计功能需重启实例

审计功能相关视图

       sys.aud$
       dba_audit_trail
       dba_audit_session
       dba_audit_object
       dba_audit_statement
       dba_audit_exits
       dba_stmt_audit_opts
       dba_priv_audit_opts
       dba_obj_audit_opts

审计功能的使用

数据库打开的语句审计功能

	select nvl(t.user_name,'EVERY_USER) 审计用户,t.audit_option 操作类型,t.success,t.failure from dba_stmt_audit_opts t;

解析:SYSTEM WIDE AUDITING 对任何用户做了audit_option中的操作时,结果为success或者failure进行审计

数据库打开的权限审计功能

	select nvl(t.user_name,'EVERY_USER) 审计用户,t.audit_option 操作类型,t.success,t.failure from dba_priv_audit_opts t;

解析:SYSTEM WIDE AUDITING 对任何用户做了audit_option中的操作时,结果为success或者failure进行审计

数据库审计总体情况

	select coung(*) from dba_audit_trail where t.timestamp > date '2021-01-01' and t.timestamp < date '2021-06-30';

解析:数据库审计功能总共审计的条数,包含各个功能审计的内容。

数据库语句审计

	select count(*) from dba_audit_statement t where t.timestamp > date '2021-01-01' and t.timestamp < date '2021-06-30';
	select t.USERNAME,count(t.USERNAME) from dba_audit_statement t where t.timestamp > date '2021-01-01' and t.timestamp < date '2021-06-30' group by t.USERNAME order by t.USERNAME;
	select t.ACTION_NAME,count(t.ACTION_NAME) from dba_audit_statement t where t.timestamp > date '2021-01-01' and t.timestamp < date '2021-06-30' group by t.ACTION_NAME order by t.ACTION_NAME;

解析:可查看某用户被语句审计的次数,具体行为可查看更为详细的审计内容。

数据库对象审计

	select count(*) from dba_audit_object t where t.timestamp > date '2021-01-01' and t.timestamp < date '2021-06-30';
	select t.USERNAME,count(t.USERNAME) from dba_audit_object t where t.timestamp > date '2021-01-01' and t.timestamp < date '2021-06-30' group by t.USERNAME order by t.USERNAME;
	select t.ACTION_NAME,count(t.ACTION_NAME) from dba_audit_statement t where t.timestamp > date '2021-01-01' and t.timestamp < date '2021-06-30' group by t.ACTION_NAME order by t.ACTION_NAME;

解析:可查看某用户被对象审计的次数,具体行为可查看更为详细的审计内容。

数据库会话情况审计

	select count(*) from dba_audit_session t where t.timestamp > date '2021-01-01' and t.timestamp < date '2021-06-30';
	select t.USERNAME,count(t.USERNAME) from dba_audit_session t where t.timestamp > date '2021-01-01' and t.timestamp < date '2021-06-30' group by t.USERNAME order by t.USERNAME;
	select t.ACTION_NAME,count(t.ACTION_NAME) from dba_audit_session t where t.timestamp > date '2021-01-01' and t.timestamp < date '2021-06-30' group by t.ACTION_NAME order by t.ACTION_NAME;

解析:可查看某用户被会话审计的次数,具体行为可查看更为详细的审计内容。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值