千家信息网

ORACLE 数据库审计详解

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,http://guestart.blog.51cto.com/1510660/1896340http://www.itpub.net/thread-454252-1-1.htmlhttps://yq.
千家信息网最后更新 2026年11月01日ORACLE 数据库审计详解

http://guestart.blog.51cto.com/1510660/1896340

http://www.itpub.net/thread-454252-1-1.html
https://yq.aliyun.com/articles/16914

一、何谓数据库审计? 数据库审计,就是对数据库的活动做跟踪记录,主要包括数据库连接,SQL语句执行,数据库对象访问这些方面的跟踪记录。 二、审记记录的存储方式 分为两种:一种是存储在操作系统文件中,一种是存储在system表空间中的SYS.AUD$表中。 三、对数据库性能影响的考虑 审计必然需要占用CPU,因此,需要综合平衡审计需求与性能之间的平衡性问题,以确定出最好的审许策略。 四、审记结果中包含哪些信息 前面讲到审许结果的存储分数据库存储和文件存储两种方式。对于数据库存储的情况,SYS.AUD$表中包含以下信息: 1)·操作系统用户名
2)·数据库用户名
3)·连接会话标识
4)·终端标识
5)·被访问的schema对象名
6)·尝试的操作
7)·操作的完整代码
8)·日期和时间戳
若审计记录存储在外部操作文件中
,则该文件可能包含以下信息: 1)·操作系统产生的审计记录
2)·数据库的审计记录
3)·被审计到的数据库操作
4)·超级管理员(SYS)的审计记录

其中,被写到文件中的审计记录是以编码的方式存储的,如果要理解这些编码所对应的信息,可以查询以下数据字典表:
编码信息数据字典表 ------------------------------- 数据库操作代码表示尝试的操作。它的相关描述可以从数据字典表AUDIT_ACTIONS表中查询到 操作所使用的权限可以在字典表SYSTEM_PRIVILEGE_MAP中查询到对应的说明 完整的操作代码操作成功时将返回0,失败时返回相关oracle错误信息,错误信息码所对应的说明可以从oracle官方文档中获得 -------------------------------- 五、缺省的审计 不论当前是否已经开启的审计功能,数据库都会把一些数据库相关的操作写入外部审计文件中
(注意:不是写入SYS.AUD$表),这些被缺省审计的操作是: 1)·以超级管理员权限对数据库的连接(connectASSYSDBA或connectASSYSOPER)
2)·数据库启动
3)·数据库停止
六、对
超级管理员用户的操作行为的审计 超级管理员用户指的是以ASSYSDBA或ASSYSOPER方式连接数据库的用户。初始化参数AUDIT_SYS_OPERATIONS用来指定是超级管理员的审计选项,如果将AUDIT_SYS_OPERATIONS设置为TRUE,那么所有超级管理员的操作都将被审计,而不管当前是否有开启审计功能,而且所有的审计信息都被写入外部审计文件中(注意:不是写入SYS.AUD$表)。 七、执行审计 1.设定审计记录的存放位置 初始化参数AUDIT_TRAIL指定了审计记录的存放位置,该参数有三个取值: 1)·DB审计记录存放在数据库的SYS.AUD$表中
2)·OS审计记录存放在外部的操作系统文件中
3)·NONE关闭审计(缺省值)

初始化参数AUDIT_FILE_DEST指定了当审外部审记文件目标存储路径,其缺省值是$ORACLE_HOME/rdbms/audit

2.审计选项 这个审计选项指的是执行审计的AUDIT语句的可选项。AUDIT语句的语法请参考oracle官方SQL参考。 3.以实例说明审计 a.审计某用户的会话的创建与结束 AUDIT SESSION BY scott,fey;

b.审计所有用户的会话的创建与结束 AUDIT SESSION;

c.审计删除表的操作 AUDIT DELETE ANY TABLE;

d.审计删除表的操作(限制:只审计删除失败的情况) AUDIT DELETE ANY TABLE WHENEVER NOT SUCCESSFUL;

e.审计删除表的操作(限制:只审计删除成功的情况) AUDIT DELETE ANY TABLE WHENEVER SUCCESSFUL;

f.审计删除表的操作(限制:同一个会话中相同的操作语句只审计一次) AUDIT DELETE ANY TABLE BY SESSION; (注:对于这种情况,如果审计记录被设定为存储在外部文件中时,这个效果是体现不出来的,因为oracle无法判断是否已经审计过相同的操作语句。)

g.审计删除表的操作(限制:每支删除语句都审计,不论同一会话中是否有多条相同的操作语句) AUDIT DELETE ANY TABLE BY ACCESS;

h.审计对fey.employee表的delete操作 AUDIT DELETE ON fey.employee;

i.审计对fey.employee表的delete、updet、insert操作 AUDIT DELETE,UPDATE,INSERT ON fey.employee; 八、停止审计 停止审计使用NOAUDIT语句,该语句的语法请参考oracle官方SQL参考。下面以实例说明NOAUDIT的使用: a.停止所有对会话的创建与结束的审计 NOAUDIT SESSION;

b.停止对用户fey,scott的会话的创建与结束的审计 NOAUDIT SESSION BY fey,scott;

c.停止审计删除表的操作 NOAUDIT DELETE ANY TABLE;

d.停止审计删除表的操作(限制:停止审计删除失败的情况) NOAUDIT DELETE ANY TABLE WHENEVER NOT SUCCESSFUL;

e.停止审计删除表的操作(限制:停止审计删除成功的情况) NOAUDIT DELETE ANY TABLE WHENEVER SUCCESSFUL;

f.停止审计对fey.employee表的delete操作 NOAUDIT DELETE ON fey.employee;

g.停止审计对fey.employee表的delete、updet、insert操作 NOAUDIT DELETE,UPDATE,INSERT ON fey.employee; 九、对审计记录表SYS.AUD$的管理 当SYS.AUD$表的审计记录越来越多的时候,以至达到存储极限时,会因为审计记录无法写入而产生错误。或许我还也需要对该表的数据进行一些转储或者碎片的整理,或是删除一些我们认为不再需要的审计记录。这些都是要考虑的事情。下面给出一个对该表进行存储碎片的整理的一个方法:
a.将该表的数据select into到另一个表中,或利用export导出到外部文件
b.truncate这张表(要以超级管理员登录才行)
c.再将原先转储的数据再加载进来。 也许我们需要对针对SYS.AUD$表的操作进行审计,如:AUDIT INSERT,UPDATE,DELETE ON sys.aud$ BY ACCESS; 十、Fine-Grained审计 如前面所述,审计的记录中并没有含操作所作用的数据,比如说,需要审计针对一个表的select,而且需要在审计记录中包含select语句所返回的数据。这时,就需要用到Fine-Grained审计。Fine-Grained审计是基于oracle的事件,其原理是在insert,update或delete相关的事件中截取相关的数据。属于orale程序开发的范畴。具体可以参考相关oracle文檔。 十一、审计相关的数据字典视图 STMT_AUDIT_OPTION_MAP AUDIT_ACTIONS ALL_DEF_AUDIT_OPTS DBA_STMT_AUDIT_OPTS DBA_PRIV_AUDIT_OPTS DBA_OBJ_AUDIT_OPTS USER_OBJ_AUDIT_OPTS DBA_AUDIT_TRAIL USER_AUDIT_TRAIL DBA_AUDIT_OBJECT USER_AUDIT_OBJECT DBA_AUDIT_SESSION USER_AUDIT_SESSION DBA_AUDIT_STATEMENT USER_AUDIT_STATEMENT DBA_AUDIT_EXISTS DBA_AUDIT_POLICIES DBA_FGA_AUDIT_TRAIL
审计 数据 数据库 存储 文件 语句 信息 用户 管理 管理员 情况 限制 字典 参考 操作系统 参数 方式 系统 相同 成功 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 南京欣网互联网络科技有限公司 互联网金融监管科技数据 壹账通互联网科技 四川狮子座互联网科技 深圳卡尔迅互联网科技有限公司怎么样 广西拼得多互联网科技有限公司 开启互联网科技时代小说 福州新华互联网科技学校 知乎 互联网科技创新服务 互联网为啥属于高科技 上海宁丞科技互联网 赶超互联网科技 微信多开 互联网科技产业特征 深圳市罗太互联网科技有限公司 威龙国际互联网科技公司 互联网科技圈年度人物 广州千川互联网科技有限公司 云南省自由互联网科技有限公司 皮皮虾互联网科技有限公司 互联网科技工作委员会副主任毛军 互联网是不是新科技 丰台科技园 互联网 电子科技大学互联网 丰台科技园 互联网公司 迪庆互联网科技招生 互联网科技包装股份有限公司上市 广州有谷有贝互联网科技有限公司 互联网时代科技型公司的机会 恒生互联网科技趋势
0