前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试828】在Oracle中,什么是审计(Audit)?

【DB笔试面试828】在Oracle中,什么是审计(Audit)?

作者头像
AiDBA宝典
发布2020-06-24 15:09:56
2.2K0
发布2020-06-24 15:09:56
举报
文章被收录于专栏:小麦苗的DB宝专栏

题目部分

【DB笔试面试828】在Oracle中,什么是审计(Audit)?

答案部分

审计(Audit)用于监视用户所执行的数据库操作,审计信息可存储于数据字典表,称为审计记录。审计记录存储在SYSTEM表空间中的SYS.AUD表中,可通过视图DBA_AUDIT_TRAIL查看。审计记录也可以存储在操作系统文件中(默认位置为ORACLE_BASE/admin/ORACLE_SID/adump/)。若审计表不存在,则可以通过脚本ORACLE_HOME/rdbms/admin/cataudit.sql来创建。

审计的内容主要包括对数据库连接、SQL语句执行以及数据库对象访问等操作的跟踪记录。Oracle系统对任何用户所做的登录、操作数据库对象进行自动记录,以便使DBA在事后可以进行监督和检查。Oracle 11g默认启用审计,AUDIT_TRAIL参数的缺省值为DB,这意味着审计数据将记录在数据库中的AUD$审计字典基表上。

代码语言:javascript
复制
SQL> SHOW PARAMETER AUDIT_TRAIL
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      DB

初始化参数AUDIT_TRAIL用于控制数据库审计,取值说明如下所示:

u NONE:禁用数据库审计。

u OS:启用数据库审计,并将数据库审计记录写入操作系统文件中。

u DB:启用数据库审计,并将数据库所有审计记录写入数据库的SYS.AUD$表。

u DB,EXTENDED:启用数据库审计,并将数据库所有审计记录写入数据库的SYS.AUD表。另外,填充SYS.AUD表的SQLBIND列和SQLTEXT列。

u XML:启用数据库审计,并将所有记录写到XML格式的操作系统文件中。

u XML,EXTENDED:启用数据库审计,填充审计记录的所有列,包括SQLTEXT和SQLBIND的值。

有关数据库审计的一些数据字典视图如下所示:

代码语言:javascript
复制
SELECT * FROM DBA_PRIV_AUDIT_OPTS;
SELECT * FROM DBA_STMT_AUDIT_OPTS;
SELECT * FROM DBA_OBJ_AUDIT_OPTS;
SELECT * FROM DBA_FGA_AUDIT_TRAIL;
SELECT * FROM DBA_AUDIT_OBJECT;
SELECT * FROM DBA_AUDIT_SESSION;
SELECT * FROM SYS.AUD$;
SELECT * FROM DBA_AUDIT_TRAIL;
SELECT * FROM ALL_DEF_AUDIT_OPTS;
SELECT * FROM DBA_AUDIT_POLICIES;

表 3-38 有关审计的数据字典视图介绍

名称

说明

SYS.AUD$

唯一保留审计结果的表,其它均为视图。

STMT_AUDIT_OPTION_MAP

包含有关审计选项类型代码的信息,由SQL.BSQ脚本在CREATE DATABASE时创建。

AUDIT_ACTIONS

包含审计跟踪动作类型代码的描述,例如INSERT、DROP VIEW、DELETE、LOGON和LOCK。

ALL_DEF_AUDIT_OPTS

包含默认对象审计选项。

USER_OBJ_AUDIT_OPTS

描述当前用户拥有的所有对象上的审计选项。

DBA_AUDIT_TRAIL

包含标准审计跟踪条目,USER_AUDIT_TRAIL只包含已连接用户的审计行。

USER_AUDIT_TRAIL

显示与当前用户有关的审计跟踪条目。

DBA_AUDIT_OBJECT

包含系统中所有对象的审计跟踪记录。

DBA_AUDIT_SESSION

列出涉及CONNECT和DISCONNECT的所有审计记录。

USER_AUDIT_SESSION

列出涉及当前用户的CONNECT和DISCONNECT的所有审计跟踪记录。

DBA_AUDIT_STATEMENT

列出涉及数据库全部的GRANT、REVOKE、AUDIT、NOAUDIT和ALTER SYSTEM语句的审计跟踪记录。

DBA_AUDIT_EXISTS

列出BY AUDIT NOT EXISTS产生的审计跟踪条目。

DBA_AUDIT_POLICIES

记录了数据库中的细粒度审计策略定义。

DBA_FGA_AUDIT_TRAIL

列出基于值的审计跟踪记录。

DBA_STMT_AUDIT_OPTS

对语句生效的审计选项。

DBA_PRIV_AUDIT_OPTS

对系统权限生效的审计选项。

DBA_OBJ_AUDIT_OPTS

对数据库生效的审计选项。

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档