千家信息网

Oracle数据库SQL审计

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,在我们日常的工作中,一些安全性的要求高的数据库需要增加审计操作,哪个用户什么时间做了什么操作。1.打开数据库的审计alter system set audit_sys_operations=TRUE
千家信息网最后更新 2025年02月03日Oracle数据库SQL审计

在我们日常的工作中,一些安全性的要求高的数据库需要增加审计操作,哪个用户什么时间做了什么操作。

1.打开数据库的审计

alter system set audit_sys_operations=TRUE scope=spfile;  //审计管理用户alter system set audit_trail=db,extended scope=spfile;  //将sql语句写入审计表中

2.对数据库重启并查看

重启数据库shutdown immediate;startup;show parameter audit;

3.增加审计策略
我们需要对数据库的caiwu用户的所有操作进行审计

// 审计用户caiwu所有成功的操作audit all by caiwu by access whenever successful;

或者

//针对用户的审计(未执行成功的也审计)audit select table by caiwu by access;     //查表审计audit update table by caiwu by access;   //更新审计audit delete table by caiwu by access;    //删除审计audit insert table by caiwu by access;     //插入审计
//针对某表的更新、删除审计(错误也审计)AUDIT UPDATE,DELETE,INSERT ON T_TEST by access;  
//保护审计audit all on sys.aud$ by access;

4.取消审计

NOAUDIT UPDATE,DELETE,INSERT ON T_TEST by access;  

5.查询审计结果

select OS_USERNAME,username,USERHOST,TERMINAL,TIMESTAMP,OWNER,obj_name,ACTION_NAME,sessionid,os_process,sql_text from dba_audit_trail;

6.将审计表查询开放给某个用户
grant select on dba_audit_trail to caiwu;

7.清空审计记录
DELETE FROM SYS.AUD$;

0