oracle细粒度(fga)审核

Oracle9i Database 推出了一种称为细粒度审计 (FGA) 的新特性。现在下面就利用FGA实现审计对表的审计。其中,EDMS是数据库的一个测试帐户。

1.   建立测试表(用户EDMS下)

Create Table T_AUDIT_DEMO
(
 CID   INT   NOT NULL,
 CNAME VARCHAR2(20) NULL,
 ENAME VARCHAR2(20) NULL,
 CONSTRAINT PK_T_AUDIT_DEMO PRIMARY KEY (CID)
);

2.   创建审计策略(用户SYS下)

begin
  dbms_fga.add_policy
  (
    object_schema=>‘EDMS‘,
    object_name=>‘T_AUDIT_DEMO‘,
    policy_name=>‘T_AUDIT_DEMO_AUDIT‘
  );
end;

3.   测试审计效果(用户EDMS下)

INSERT INTO T_AUDIT_DEMO VALUES(1,‘曾勋‘,‘ZENG XUN‘);
INSERT INTO T_AUDIT_DEMO VALUES(2,‘翁黎明‘,‘WENG LI MING‘);
INSERT INTO T_AUDIT_DEMO VALUES(3,‘刘帝勇‘,‘LIU DI YONG‘);

4.   使用Select查询测试表(用户EDMS下)

SQL> SELECT * FROM T_AUDIT_DEMO;  
CID CNAME                ENAME
----- -------------------- -------
1 曾勋                 ZENG XUN 
2 翁黎明               WENG LI MING 
3 刘帝勇               LIU DI YONG

5.   再次查看审计效果用户SYS下)

SQL> select statement_type,SQL_TEXT from dba_fga_audit_trail;
STATEMENT_TYPE SQL_TEXT
-------------- -----------
SELECT         SELECT * FROM T_AUDIT_DEMO

注意:之前的Insert语句并不在审计中。默认的只对Select进行审计。在Oracle 9i中它只捕获 SELECT 语句。而在Oracle 10i中进行了扩展,支持对所有类型的DML进行审计。

6.   修改审计粒度用户SYS下)

--不能重名,删除审计:

begin
  dbms_fga.drop_policy
  (
    object_schema=>‘EDMS‘,
    object_name=>‘T_AUDIT_DEMO‘,
    policy_name=>‘T_AUDIT_DEMO_AUDIT‘
  );
end;

--重新添加:

begin
  dbms_fga.add_policy
  (
    object_schema=>‘EDMS‘,
    object_name=>‘T_AUDIT_DEMO‘,
    policy_name=>‘T_AUDIT_DEMO_AUDIT‘,
    statement_types=>‘INSERT, UPDATE, DELETE, SELECT‘
  );
end;

注意:不能实现对Truncat Table的审计。

7.   测试审计用户EDMS、SYS下)

INSERT INTO T_AUDIT_DEMO VALUES(4,‘黄智洪‘,‘HUANG ZHI HONG‘);
DELETE FROM T_AUDIT_DEMO WHERE CID < 4;
SQL> select statement_type,SQL_TEXT from dba_fga_audit_trail;
STATEMENT_TYPE SQL_TEXT
-------------- --------------------
SELECT       SELECT * FROM T_AUDIT_DEMO
INSERT       INSERT INTO T_AUDIT_DEMO VALUES(4,‘黄智洪‘,‘HUANG ZHI HONG‘)
DELETE       DELETE FROM T_AUDIT_DEMO WHERE CID < 4
SELECT       SELECT * FROM T_AUDIT_DEMO

 

至此,我们已经实现了对表T_AUDIT_DEMO的审计。与FGA相关的表或者视图:

select  * from fga$
select  * from fga_log$
select  * from fgacol$
select * from dba_fga_audit_trail
select * from dba_common_audit_trail

select * from dba_audit_policies
select * from dba_fga_audit_trail

与FGA相关的包或者过程:

dbms_fga.add_policy
dbms_fga.drop_policy

时间: 2024-11-07 20:05:34

oracle细粒度(fga)审核的相关文章

Oracle数据库统一审核的启用测试与关闭

下面的步骤,连接为sysdba,除非指定了其它方式. (1)运行如下查询,确定统一审核是否启用了: select value from v$option where parameter='Unified Auditing'; 在标准安装中,这会返回FALSE.如果返回的是TRUE,表示已经启用了统一审核,则跳到步骤(5). (2)关闭Oracle服务. 关闭所有数据库实例和侦听器.在Windows上,也停止所有与Oracle相关的Windows服务. (3)启用统一审核. windows上,是复

oracle 细粒度审计使用

以scott用户的emp表为示例 ----增加策略 begin DBMS_FGA.ADD_POLICY ( object_schema      =>  'SCOTT', object_name        =>  'EMP', policy_name        =>  'mypolicy1', handler_schema     =>   NULL, handler_module     =>   NULL, enable             =>   T

10gocm-&gt;session5-&gt;数据库管理实验

Oracle数据库管理实验 一 传输表空间 二 创建分区表和分区索引 三 FGA细粒度审计 四 监控索引使用情况 五 创建含特殊字段类型的表 六 Flashback闪回技术 一 传输表空间,将ocmdb库的tstrans表空间迁移到ocmdb02库中 场合:1.适用于OLAP数据仓库应用  2.数据迁移 比exp/imp速度快,不仅迁移数据同时迁移元数据 原理:只导出表空间的元数据(即结构信息),导入目标数据库,把表空间设置为只读,把对应的数据文件复制到目标系统的目标目录,挂载上导入的表空间,在

数据库审核,和细粒度审核(fga)视图查询

审核SYSDBA活动: 相关的系统参数:audit_sys_operations.设置为true,那么作为sysdba或sysoper连接数据库的用户所发布的每条语句都会写入到操作系统的审核跟踪. --可查询定义了多少审核: select * from dba_audit_policies; --数据库审核记录: select * from dba_audit_trail; 相关参数:audit_trail --细粒度审核记录: sleect * from dba_fga_audit_trail

Oracle FGA细粒度审计

如果你想要审计表上,在某个时间,哪些人,操作哪些DML语句,用FGA是个不错的选择. SQL> select * from v$version; Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production PL/SQL Release 11.2.0.1.0 - Production CORE    11.2.0.1.0      Production TNS for Linux: Version 11.

【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇四:关于OneNote入库处理以及审核

篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblogs.com/baiboy/p/wpf1.html 篇三:批量处理后的txt文件入库处理:http://www.cnblogs.com/baiboy/p/wpf2.html 篇四:关于OneNote入库处理以及审核:http://www.cnblogs.com/baiboy/p/wpf3.html [

Oracle fga审计有这几个特性

fga审计有这几个特性: 本文为原创文章,转载请注明出处: http://blog.csdn.net/msdnchina/article/details/38409057 1.select * from table_xxx where 1=2 --该语句是不会被审计到dba_fga_audit_trail中的,原因我猜测是没有任何记录被select到 2.以sys用户登陆 一个会话,执行select * from user.table_xxx ,是不会被fga审计到的(也就是不往dba_fga_

Oracle FGA审计记录的清理步骤

注意:本文为原创文章,转载请注明出处: http://blog.csdn.net/msdnchina/article/details/38435999 一.确认有哪些fga审计策略, 从select * from dba_audit_policies就可以查询到审计策略,请注意,查询结果中的每一行,就是一个审计策略. 另外,fga审计记录存放在这个视图中:select * from dba_fga_audit_trail 该视图对应的后台基表为:sys.fga_log$,见如下的视图.注意,fg

oracle 11g ocp 笔记(6)-- oracle安全

1.创建和管理账号 用户.用户帐户.模式术语 用户.用户帐户.模式常替换使用,但这些术语并不完全相同. 用户通过建立到实例的会话连接到用户帐户,并基于用户帐户名登录. 模式(schema)是用户帐户拥有的一组对象. 用户账户的属性:   用户名 身份认证方式 默认表空间 表空间配额 临时表空间 用户配置文件 状态 1)用户名: 字母开头.只能包含字母.数字.美元符$.下划线_,不能是保留字,字母自动转化成大写,不按规则则需要双引号指定,不能超过30个字符.一旦创建不能修改. ·身份验证方法: 2