oracle基础审计管理

发布于:2025-06-28 ⋅ 阅读:(14) ⋅ 点赞:(0)

Oracle数据库审计功能详解(简单易懂!)
更新时间:2024年01月30日 16:21:27 作者:前程的前程也迷茫
Oracle审计查询是一项重要的任务,可以帮助DBA更好的管理Oracle数据库,下面这篇文章主要给大家介绍了关于Oracle数据库审计功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!
【 如果你想靠AI翻身,你先需要一个靠谱的工具! 】

一、查看是否开启审计

对于参数audit_sys_operations

设置为true那么sys用户的操作也会被审计,但此值默认为false,此参数控制以sysdba和sysoper权限登陆的用户以及sys用户本身的登陆,审计记录一定会写在操作系统文件中(无论AUDIT_TRAIL参数如何设置)。

对于参数audit_trail

none --不开启
os --启用数据库审计,并将数据库审计记录定向到操作系统文件,存储目录为AUDIT_FILE_DEST
db --开启审计功能 启用数据库审计,并将数据库所有审计记录定向到数据库的SYS.AUD 表 d b , e x t e n d e d − − e x t e n e d 之前的空格必须有,启用数据库审计,并将数据库所有审计记录定向到数据库的 S Y S . A U D 表 db, extended --extened之前的空格必须有,启用数据库审计,并将数据库所有审计记录定向到数据库的SYS.AUD db,extendedextened之前的空格必须有,启用数据库审计,并将数据库所有审计记录定向到数据库的SYS.AUD表,另外填充SYS.AUD$表的SQLBIND列和SQLTEXT列

二、开启审计

1.用sysdba登录

2.修改第一步的参数值
audit_trail默认为DB,不做修改

3.重启数据库,即可看见更改

二、关闭审计

三、审计策略

1.例如:我现在要监视用户 ’ wjy ’ 所有行为。

这个命令将监视用户‘wjy’的所有行为,并记录到审计日志中。

其中,ALL表示监视所有操作,BY wjy表示监视用户‘wjy’的操作,BY ACCESS表示监视所有访问操作(包括SELECT、INSERT、UPDATE、DELETE等)。

你可以使用以下命令查看审计结果:

2.例如: 针对Oracle数据库监视所有登录不成功的用户。
这个命令将监视所有登录不成功的用户,并将审计跟踪结果存储在数据库中的SYS.AUD$表中。

你可以使用以下命令查看审计结果:

这将显示所有登录不成功的用户的审计结果。

3.小tips
数据多了,查询结果会非常的不好看。分别执行下面3条语句再次查询。

四、其他审计选项
by access 每一个被审计的操作都会生成一条audit trail。
by session 一个会话里面同类型的操作只会生成一条audit trail,默认为by session。
whenever successful 操作成功(dba_audit_trail中returncode字段为0) 才审计,
whenever not successful 反之。省略该子句的话,不管操作成功与否都会审计。

五、视图(表)

  1. SYS.AUD$
    审计功能的底层视图,如果需要对数据进行删除,只需要对aud 视图进行删除既可 , 其他视图里的数据都是由 a u d 视图进行删除既可,其他视图里的数据都是由aud 视图进行删除既可,其他视图里的数据都是由aud所得.
  2. DBA_AUDIT_EXISTS
    列出audit not exists和audit exists产生的审计跟踪,我们默认的都是audit exists.
  3. DBA_AUDIT_TRAIL
    可以在里面查处所有审计所跟踪的信息.
  4. DBA_AUDIT_OBJECT
    可以查询所有对象跟踪信息.(例如,对grant,revoke等不记录),信息完全包含于dba_audit_trail
  5. DBA_AUDIT_SESSION
    所得到的数据都是有关logon或者logoff的信息.
  6. DBA_AUDIT_STATEMENT
    列出grant ,revoke ,audit ,noaudit ,alter system语句的审计跟踪信息.
  7. DBA_PRIV_AUDIT_OPTS
    通过系统和由用户审计的当前系统特权
  8. DBA_OBJ_AUDIT_OPTS
    可以查询到所有用户所有对象的设计选项
  9. ALL_DEF_AUDIT_OPTS
  10. AUDIT_ACTIONS
    可以查询出在aud$等视图中actions列的含义
  11. SYSTEM_PRIVILEGE_MAP
    可以查询出aud 等视图中 p r i v 等视图中priv 等视图中privused列的含义(注意前面加’-')

六、撤销、清空
noaudit all on t_test; 撤销审计

truncate table aud$; 清空审计表内容


网站公告

今日签到

点亮在社区的每一天
去签到