暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 对表连接进行简单的审计

askTom 2017-10-27
289

问题描述

亲爱的汤姆。

我想知道我的Oracle模式中的哪些表受到任何软件,web应用程序或直接查询的影响。

一位提供商说: “对您的模式的所有表 (和视图) 进行审计不是一个好主意,因为您的数据库将工作得非常慢,这就是为什么我们可以在一天的最大时间内进行此测试,结果会很差”。

有了这个积极的观点,我决定,目前,工作表V $ SQL。我阅读所有查询,我逐个阅读所有表 (SQL_TEXT)。
实际上,V $ SQL似乎无法获得连接对象的所有信息。

那么,你知道我怎样才能得到这些信息吗?(也许更简单)

非常感谢你的帮助。

地理-x

专家解答

您不能依靠v $ sql来捕获针对您的表的所有查询。这仅包含当前在游标缓存中的语句。这些可能会老化或被迫退出。所以不能保证你会看到每一个陈述。

如果您想在应用程序查询您的表时进行审核,只需运行:

audit select table;


然后,这将在dba_audit_trail中捕获详细信息。例如:

audit select table;

select count(*) from t;

COUNT(*)   
     10000 

select username, timestamp from dba_audit_trail 
where  obj_name = 'T'
and    timestamp > systimestamp - interval '1' minute;

USERNAME   TIMESTAMP              
CHRIS      30-OCT-2017 11:13:31  


如果需要,您可以增加审核以包括插入,更新和删除以及DDL。

现在,很明显,你审计的越多,开销就越多。但是,如果您想捕获此类信息,那么就无法摆脱。您需要存储审计数据的空间和处理时间。

本白皮书讨论审计选项及其相关的开销:

http://www.oracle.com/technetwork/products/audit-vault/learnmore/twp-security-auditperformance-166655.pdf

或独立分析,请参见:

https://www.trivadis.com/sites/default/files/downloads/ttc_oracle_auditing_report_ami_june2011-final_02.pdf

但是确切的开销将非常具体。所以有两件事你需要做:

1: 准确定义要审核的内容 (以及原因)
2: 使用此级别的审核对应用程序进行负载测试,以查看其是否满足您的性能要求

如果第2步一切正常,您就可以开始了。如果没有,您需要重新评估所需的审核级别和/或执行方式。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论