【DB笔试面试834】在Oracle中, 什么是细粒度审计?
从Oracle 9i开始,引入了细粒度的对象审计,使得审计变得更为关注某个方面,并且更为精确。细粒度的审计可以在访问某些行和列时审计对表的访问,从而极大地减少审计表的记录数量。使用标准的审计,可以发现访问了哪些对象,以及由谁访问,但是无法知道访问了哪些行或列。细粒度审计被称为FGA(Fine-Grained Audit),也叫精细化审计,由DBMS_FGA的PL/SQL程序来实现,细粒度审计除了审计功能外,还可用于绑定变量值的捕获。FGA策略的定义位于数据字典视图DBA_AUDIT_POLICIES中。
如果FGA策略定义错误,那么可以使用DBMS_FGA.DROP_POLICY存储过程来删除。DBA_FGA_AUDIT_TRAIL中的数据可以通过删除基表的方式来删除(基表为SYS.FGA_LOG$),也可以直接在视图上做删除操作:
1DELETE FROM DBA_FGA_AUDIT_TRAIL; --直接在视图上做删除操作
2DELETE FROM SYS.FGA_LOG$; --删除基表复制
其基表的获取方式可以有以下2种方式:
1SELECT TEXT FROM DBA_VIEWS D WHERE D.VIEW_NAME='DBA_FGA_AUDIT_TRAIL'; --查询TEXT列
2SELECT D.REFERENCED_OWNER, D.REFERENCED_NAME, D.REFERENCED_TYPE
3 FROM DBA_DEPENDENCIES D
4 WHERE D.NAME = 'DBA_SQL_PLAN_BASELINES'; --查询引用列复制
下面给出一个使用FGA审计的示例:
1LHR@lhrdb> CREATE TABLE ACCOUNT_LHR
2 2 (AACT_NO NUMBER NOT NULL,
3 3 CUST_ID NUMBER NOT NULL,
4 4 BALANCE NUMBER(15,2)
5 5 );
6Table created.
7LHR@lhrdb> BEGIN
8 2 DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => 'LHR',
9 3 OBJECT_NAME => 'ACCOUNT_LHR',
10 4 POLICY_NAME => 'ACCOUNT_ACCESS_LHR');
11 5 END;
12 6 /
13PL/SQL procedure successfully completed.
14LHR@lhrdb> SELECT TIMESTAMP,
15 2 DB_USER,
16 3 OS_USER,
17 4 OBJECT_SCHEMA,
18 5 OBJECT_NAME,
19 6 SQL_TEXT
20 7 FROM DBA_FGA_AUDIT_TRAIL;
21no rows selected
22LHR@lhrdb> SELECT * FROM LHR.ACCOUNT_LHR;
23no rows selected
24LHR@lhrdb> COL TIMESTAMP FOR A20
25LHR@lhrdb> COL DB_USER FOR A8
26LHR@lhrdb> COL OS_USER FOR A8
27LHR@lhrdb> COL OBJECT_SCHEMA FOR A5
28LHR@lhrdb> COL OBJECT_NAME FOR A15
29LHR@lhrdb> COL SQL_TEXT FOR A30
30LHR@lhrdb> SELECT TIMESTAMP,
31 2 DB_USER,
32 3 OS_USER,
33 4 OBJECT_SCHEMA,
34 5 OBJECT_NAME,
35 6 SQL_TEXT
36 7 FROM DBA_FGA_AUDIT_TRAIL;
37TIMESTAMP DB_USER OS_USER OBJEC OBJECT_NAME SQL_TEXT
38-------------------- -------- -------- ----- --------------- -------------------------
392016-08-25 14:38:45 LHR oracle LHR ACCOUNT_LHR select * from lhr.account_lhr复制
& 说明:
有关审计的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2140644/
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
==================================================================================================================
【干货来了|小麦苗IT资料分享】
★小麦苗DB职场干货:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w
★小麦苗数据库健康检查:https://share.weiyun.com/5lb2U2M
★小麦苗微店:https://weidian.com/?userid=793741433
★各种操作系统下的数据库安装文件(Linux、Windows、AIX等):https://pan.baidu.com/s/1hqff3Evv6oj2-Tn87MpFkQ
★小麦苗分享的资料:https://share.weiyun.com/57HUxNi
★小麦苗课堂资料:https://share.weiyun.com/5fAdN5m
★小麦苗课堂试听资料:https://share.weiyun.com/5HnQEuL
★小麦苗出版的相关书籍:https://share.weiyun.com/5sQBQpY
★小麦苗博客文章:https://share.weiyun.com/5ufi4Dx
★数据库系列(Oracle、MySQL、NoSQL):https://share.weiyun.com/5n1u8gv
★公开课录像文件:https://share.weiyun.com/5yd7ukG
★其它常用软件分享:https://share.weiyun.com/53BlaHX
★其它IT资料(OS、网络、存储等):https://share.weiyun.com/5Mn6ESi
★Python资料:https://share.weiyun.com/5iuQ2Fn
★已安装配置好的虚拟机:https://share.weiyun.com/5E8pxvT
★小麦苗腾讯课堂:https://lhr.ke.qq.com/
★小麦苗博客:http://blog.itpub.net/26736162/
★OCP培训:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA
★12c的OCP培训:https://mp.weixin.qq.com/s/hMLHlyjMHhLmA0xN4hLvfw
★OCM培训:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA
★高可用(RAC+DG+OGG)培训:https://mp.weixin.qq.com/s/4vf042CnOdAD8zDyjUueiw
★小麦苗课堂腾讯视频:http://v.qq.com/vplus/71f69a319a24c6808cd6e6189ae90664
==================================================================================================================
复制
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599、618766405
● 微信:lhrbestxh
● 微信公众号:DB宝
● 提供Oracle OCP、OCM、高可用(rac+dg+ogg)和MySQL最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:DB宝,学习最实用的数据库技术。
