我想审计来自应用程序用户"tomcat“(OS_USER属性)以外其他地方的DML语句。我只想关注开发人员或支持以任何方式更改数据的团队。
DML触发器不记录执行的确切查询,只记录查询类型(插入、更新、删除)。
通过直接使用FGA,我无法过滤掉应用程序用户"tomcat“。我熟悉这些问题:
但是信息被记录在跟踪文件中,查看这需要付出更多的努力,我希望通过字典视图访问审计。有可能吗?
发布于 2021-05-25 10:23:03
我帮了自己这个忙:
BEGIN
dbms_fga.add_policy(
... ,
audit_condition => 'SYS_CONTEXT(''USERENV'',''OS_USER'') <> ''tomcat''',
...);
END;
/谓词也适用于NOT IN ( 'tomcat' )。
但是对于列表NOT IN ( 'tomcat', 'oracle' )或SYS_CONTEXT('USERENV','OS_USER') <> 'tomcat' OR SYS_CONTEXT('USERENV','OS_USER') <> 'oracle'中的多个项,它将失败:
ORA-28138: Error in Policy Predicatehttps://dba.stackexchange.com/questions/292207
复制相似问题