下面是一个样例输出: TIMESTAMP SCN SEG_OWNER SEG_NAME
--------- ---------- ---------- ------------------------------
06-FEB-06 1024674 XDB DBMS_XSLPROCESSOR
06-FEB-06 1026884 XDB DBMS_XMLDOM
06-FEB-06 1026896 XDB DBMS_XMLPARSER
06-FEB-06 1026918 EXFSYS DBMS_RLMGR_DR
06-FEB-06 1029244 ARUP DEVELOPERS
08-FEB-06 1096847 ARUP PATIENT_DIAGNOSIS
08-FEB-06 1097057 ARUP VW_PATIENT_DIAGNOSIS
08-FEB-06 1097920 ARUP VW_PATIENT_DIAGNOSIS
08-FEB-06 1100059 ARUP PD_POL
08-FEB-06 1100157 ARUP PD_POL
08-FEB-06 1100386 ARUP PD_POL
08-FEB-06 1100413 ANANDA
08-FEB-06 1101544 ANANDA PD_POL
08-FEB-06 1101564 ARUP PD_POL
09-FEB-06 1123950 ARUP TEST1
09-FEB-06 1123953 ARUP TEST1
注意:我使用的是 SEG_OWNER,不是 USERNAME。 由于 Oracle 数据库 10.2.0.1 中的一个缺陷没有解决,USERNAME 没有放入进去。
这只是怎样从归档日志中抽取 DDL 语句的一个示例。 您也可以使用任何语句挖掘日志——DML。 DML 语句挖掘是对审计的重要代替,因为它们对数据库不施加任何性能压力。
提示 Log Miner 是非侵入的,但是在服务器上它不占用很多 CPU 周期和 PGA 内存。 因此,请仔细地操作 Log Miner,最好在减少装载的条件下操作。 (另外一个选项是将存档日志移动到不同的服务器上,在那些挖掘存档日志。 只要有可能的时候,都应该利用该选项。)
操作计划
- 识别您想从日志中挖掘的语句,以及挖掘频率。 一些示例可能是与删除对象有关的 DDL 语句;但是您可能需要更加有选择性。 在数据仓库环境里,应用程序暂时创建许多表,然后删除这些表,因此您可能想不选择那些模式。
- 使用以上技术定期从归档日志中提取信息,并因为可能的滥用和模式对它们进行分析。
4.7 结论 该阶段的任务量比较少,但是这些任务执行起来却要花费很多时间。 另外,因为它们是目标的一部分,所有没有明晰的详细信息。 这些次要的细节变化很大,所以要进行综合的通用型描述是不可能的。
安全要求的最重要因素是要明白您不可能在真空中求得安全。 为了有效地构建一个安全的数据库基础架构,您的行为必须和对机构独特本质的理解协调起来,您的分析必须包括业务流程,从而将敏感数据和非敏感数据隔离开来。 例如,信用卡数在任何机构都将被保护,但是销售数怎么办呢? 在某些机构中(例如零售店),数据量相当庞大,加密保护就不适宜了。但是对冲基金商贸公司却是可行的, 在这里销售数据被严加保护。 查看敏感数据的一个分层方法可能实用于某些情况下;但是在大多数情况下,分层方法最可能按需提供。
即将结束时,我希望您已经学习到某些您现在就可以使用的有价值的工具和技巧来保护您的数据库基础架构。 如果您能花费一些时间让我了解您对第 4 阶段的反馈和改进建议,同时提供其它相关问题和资料,我将非常感谢。
(编辑:aniston)
|