在运行脚本时,我喜欢使用SET_MODULE过程来关联审计目的的内容。例如:
EXEC DMBS_APPLICATION_INFO.SET_MODULE('RELEASE123','My_Script.sql');
好的一面是,脚本中的后续DDL命令将使用版本和脚本进行标记,从而更容易在以后使用模块和操作进行识别。但是,模块或操作都不会出现在统一审计跟踪中。我正在寻找一些我们可以做的事情,以挑选与版本相关的审计日志,甚至是与版本相关的特定脚本。而不必查询多个视图。
在Unified Audit Trail中跟踪相关审核日志的好的替代选项是什么?
1条答案
按热度按时间xtfmy6hx1#
Oracle的内置审计在收集信息方面相当有限。如果您需要丰富的数据,则需要实现自己的审计。
只需创建一个数据库级别的DDL触发器(
CREATE TRIGGER xyz AFTER DDL ON DATABASE...
),然后您可以使用它来填充您自己的审计表,其中包含来自v$session
、SYS_CONTEXT('USERENV',...)
等的更丰富的数据。您还可以(并且应该)使用DDL系统事件触发器中可用的特殊变量捕获进一步丰富的信息:
最后两个 * 项返回非标量值(
ora_name_list_t
)注意:你需要“
ADMINISTER DATABASE TRIGGER
“priv来执行此操作。