fga 例子 oracle,利用Oracle FGA实现审计
原文出处:http://blog.sina.com.cn/s/blog_3f2ef11801000aad.html
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下)
begindbms_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 CNAMEENAME
----- -------------------- -------
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
-------------- -----------
SELECTSELECT * FROM T_AUDIT_DEMO
注意:之前的Insert语句并不在审计中。默认的只对Select进行审计。在Oracle 9i中它只捕获 SELECT 语句。而在Oracle 10i中进行了扩展,支持对所有类型的DML进行审计。
6. 修改审计粒度(用户SYS下)
begindbms_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
-------------- --------------------
SELECTSELECT * FROM T_AUDIT_DEMO
INSERTINSERT INTO T_AUDIT_DEMO VALUES(4,'黄智洪','HUANG ZHI HONG')DELETEDELETE FROM T_AUDIT_DEMO WHERE CID < 4
SELECTSELECT * 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
至于这些表、视图、包的列或者参数的使用方法,可以Describe或者查看相关文档。
fga 例子 oracle,利用Oracle FGA实现审计相关推荐
- 有效利用Oracle官方的免费学习资源
概述 OTN 在线产品文档用户手册 例应用实践1In-memory学习 例应用实践2动态视图定义 常用文档列表和简单介绍 白皮书White Paper 例应用实践1In-memory学习 白皮书的列表 ...
- 利用Oracle内置分析函数进行高效统计汇总
利用Oracle内置分析函数进行高效统计汇总 分析函数是Oracle从8.1.6开始引入的一个新的概念,为我们分析数据提供了一种简单高效的处理方式.在分析函数出现以前,我们必须使用自联查询,子查询或者 ...
- iBatis入门例子,用ORACLE和Java测试
一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. 2.创建类Person.java package com.ibeats; impor ...
- 利用Oracle分析函数实现多行数据合并为一行
demo场景,以oracle自带库中的表emp为例: select ename,deptno from emp order by deptno; ENAME DEPTNO CLARK 10 KING ...
- oracle存储过程备份,利用ORACLE存储过程与JOB结合实现对数据表自动备份
烈火网(LieHuo.Net)教程 利用ORACLE存储过程与JOB结合实现对数据表自动备份. 1.创建存储过程 create or replace procedure data_auto_backu ...
- 利用oracle执行系统命令,利用oracle存储过程执行操作系统命令(转)
以下方法在WINNT,LINUX下的oracle9i上测试通过,java过程调用系统命令 首先给使用java存储过程的用户授予一定的权限 <>表示所有文件,也可以单独指定文件. r w e ...
- jsp oracle连接池,利用Oracle自带的连接池类的一例
利用Oracle自带的连接池类的一例 作者:未知 文章来源:www.jspcn.net 发布日期:2005年01月19日 /** 封装了对数据库的连接,用于处理SQL语句. @author:ya ...
- DOTNET零碎要点---1.vb.net利用Oracle.DataAccess.dll链接Oracle数据库
1.vb.net利用Oracle.DataAccess.dll链接Oracle数据库 DOTNET学习笔记---1.vb.net利用Oracle.DataAccess.dll链接Oracle数据库 2 ...
- oracle 抽样_利用ORACLE实现数据抽样
做数据分析的,免不了碰到记录数据量很大,怎么办? 做全面分析是不现实也没有必要. 介绍一下抽样方法及实现 几种常用的抽样方法: 1.简单随机抽样(simple random sampling) 将所有 ...
最新文章
- substr(IndexAction,1,-6)
- Java开发人员应了解的JVM流行语
- canal mysql从库_大厂如何基于binlog解决多机房同步mysql数据(一)?
- MongoDB副本集、分片集的伪分布式部署(保姆级教程)
- 慎用ArrayList的contains方法,使用HashSet的contains方法代替
- BlenderPython (三)bpy模块
- 将多张图片缩小合为一张图片(千图成像)
- AutoCAD2011,2020安装教程
- 2022IEOC全国赛专业组获奖及晋级成绩公布 全球赛期待继续辉煌
- php模拟登陆青果教务系统
- PDF各种格式相互转换
- excel文件无法打印提示内存不足_Mac应用程序无法打开提示不明开发者或文件损坏的处理方法...
- git commit规范 、CHANGELOG生成 和版本发布的标准自动化
- 有五个人坐一起,问第五个多少岁?(java)
- 大学物理·第7章恒定磁场
- docker pull提示x509错误的对应方法
- 土木工程跨计算机专业考研,2019土木工程跨考西工大网安考研经验分享
- 运维批量管理工具-clustershell
- 中国移动“良心”了,18元保号套餐,或许能完美替代达量不限速
- 阿里云 SAE 携手云效助力「石家庄掌讯」持续交付、降本提效