EBS 审计功能(Audit Trail)

更新时间:2023-06-30 19:47:20 阅读: 评论:0

[综合技术] 什么是 EBS 审计功能(audit)? EBS审计定义实例详解
冻疮怎么形成的
1 什么是EBS审计功能
2 定义审计功能
3 定义审计功能后数据库中生成的对象
4 审计报表
5 删除审计的定义
6  启用审计的效率问题



1 什么是EBS审计功能

EBS自带审计功能,审计功能是记录系统使用者的操纵记录,例如什么时间对哪张表的那个的字段做了修改、删除等操作,审计功能都会记录相应的时间、修改者、修改前该字段的值。在实际业务中对一些敏感信息(例如订单行中物料、数量或价目表中的价格信息等等),审计功能可以严格监控操作人员的对系统所做的修改,查找历史数据值,对于提系统的安全性提供了很大的帮助。

2 定义审计功能

1)安装跟踪

位置:System Administrator – Security – AuditTrail –Install
例如我们需要开启销售模块的审计功能,需按如下填写。
下载 (37.77 KB)
2009-3-19 02:20



2)定义跟踪组
位置:System Administrator – Security – AuditTrail –Groups
填写你要定义跟踪组的名字,注意状态“Enable Requested”,跟踪组里需要定义审计表,也就是你需要关注的表;
例如我们定义的审计表是销售订单的头和行两个表。
阿根廷世界杯
下载 (49.32 KB)
2009-3-19 02:20


3)定义跟踪表
位置:System Administrator – Security – AuditTrail –Tables
在此处依次定义步骤2)跟踪组中定义的审计表的哪个字段需要审计;
例如我们定义客户PO号等几个字段为需要审计的字段(主键HEADER_ID需要有)。
下载 (41.42 KB)
2009-3-19 02:20

注意:跟踪组中的另一个OE_ORDER_LINES_ALL也需要在此定义。

4)运行在系统管理员职责下运行请求AuditTrail Update Tables
如果不运行该请求,之前的定义是不会生效的(不会生成线索表),请求运行成功以后可以查看线索表,审计线索表是保存审计结果的表,命名规则是“基表+A”,所以我们现在可以查看到审计表OE_ORDER_HEADERS_ALL_A和OE_ORDER_LINES_ALL_A。例如表OE_ORDER_HEADERS_ALL_A结构如下:
下载 (35.41 KB)
2009-3-19 02:20


可以看到这个表的主要的列,有审计时间,被审计的用户,审计的处理类型(更新、删除和修改),被审计的用户等,另外还有我们之前定义的被审计的列。

5) 启用审计功能
如果不修改profile则审计功能不会被启用;
下载 (36.77 KB)
2009-3-19 02:20


到此为止审计功能已经生效,当用户改变OE_ORDER_HEADERS_ALL中这几列的时候就会被记录到该表中。如下:我们可以看到哪个用户哪个时间操作了cust_po_number这个字段,这里记录被审计字段的值不是系统中当前的值,而是被修改前该字段的值,如下例:
下载 (38.67 KB)
2009-3-19 02:20


其中字段AUDIT_TRANSACTION_TYPE的值‘U’就是UPDATE操作,只有参与审计的栏位发生变动才会进行记录


3 定义审计功能后数据库生成的对象

审计功能的原理非常的简单,我们以OE_ORDER_HEADERS_ALL表为例说明。当 OE_ORDER_HEADERS_ALL被定义部分字段审计后首先数据库会生成审计表OE_ORDER_HEADERS_ALL_A,同时生成一些视图、trigger和procedure;

视图:视图都是针对于OE_ORDER_HEADERS_ALL_A的一些lect语句;
Trigger:以更新审计的定义为例,定义表OE_ORDER_HEADERS_ALL的更新审计后会生成OE_ORDER_HEADERS_ALL_AU trigger;
1. CREATE OR REPLACE TRIGGER OE_ORDER_HEADERS_ALL_AU
2.   AFTER UPDATE OF HEADER_ID, CUST_PO_NUMBER, PAYMENT_TERM_ID, TRANSACTIONAL_CURR_CODE ON OE_ORDER_HEADERS_ALL
3.   FOR EACH ROW
4. BEGIN
5.   IF FND_GLOBAL.AUDIT_ACTIVE THEN
6.     OE_ORDER_HEADERS_ALL_AUP(:OLD.HEADER_ID,
7.                              :OLD.CUST_PO_NUMBER,
8.                              :OLD.PAYMENT_TERM_ID,
9. 云南大学录取分数线                             :OLD.TRANSACTIONAL_CURR_CODE,
痤疮的图片10.                              :NEW.HEADER_ID,
11.                              :NEW.CUST_PO_NUMBER,
12.                              :NEW.PAYMENT_TERM_ID,
13.                              :NEW.TRANSACTIONAL_CURR_CODE);
14.   END IF;
15. END;
16. /
复制代码
可以看到如果表OE_ORDER_HEADERS_ALL_AU被审计列被修改后首先判断审计的预置文件是否开启,开启后则调用OE_ORDER_HEADERS_ALL_AUP procedure将相关的值插入到OE_ORDER_HEADERS_ALL_A表中;所以定义更新、插入和修改的审计都会生成相应的trigger和procedure;


4 审计报表

关于EBS审计功能,EBS自带报表,但该报表过于简单,通常实际要根据需求开发新的审计报表。
报表的位置:
system administratorSecurityAuditTRailAudit Trail ReportingAudit Report

1)当我们选择参数Functional Group的时候找不到刚才我们定义的ZZ_TEST_TRACE 组
下载 (39.38 KB)
傲慢的英语2009-3-19 02:25


2)我们需要到audit industry template 里添加该组
常怀感恩的心下载 (44.27 KB)
2009-3-19 02:25



3)打印报表

3.1 选择需要打印的列

培训工作
下载 (37.18 KB)
2009-3-19 02:25


3.2 运行报表

下载 (40.83 KB)
2009-3-19 02:25


3.3 报表内容
可以看到哪个用户什么时间更改了哪个字段(不是一般的难看)

下载 (32.23 KB)
2009-3-19 02:25



5 删除审计的定义

1)数据库手动删除跟踪列的步骤:

1.删除跟踪表      --DROP TABLE xx;
2.删除跟踪表栏位  --DELETE FROM FND_AUDIT_COLUMNS WHERE (TABLE_ID = XX);
3.删除失效的procedure、trigger和views(这个时候查看DB新增的失效对象就可以看到所有与审计有关的对象了)
其中TABLE_ID可以在FND_TABLES查找或在EBS中数据库表定业页面上查找:
下载 (44.87 KB)
2009-3-19 02:28


2)EBS页面上删除

1.修改审计组状态
  组状态选择Disable – Purge Table,金羚电器保存

下载 (46.1 KB)
2009-3-19 02:28



2.提交AuditTrail Update Tables请求后删除才会生效,这时关于该审计组相关定义的审计对象都会被清除掉。


6 启用审计的效率问题

很多人担心启用审计功能后对系统性能的影响是不是非常的大?我们试想如果审计功能启用后对系统有比较大的影响,那么应该主要应该是事务的响应时间和磁盘I/O会有影响;审计功能其实就是通过trigger来保存有变化字段的信息,而且数据量不多;之前曾经针对一个系统启用审计前后做过压力测试,CPU使用率、内存、磁盘I/O和客户端响应时间并无明显的变化;

本文发布于:2023-06-30 19:47:20,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1062024.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:审计   定义   功能   修改   跟踪   时间   删除
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图