gpt4 book ai didi

oracle - 如何使用Oracle审计某个表中的删除?

转载 作者:行者123 更新时间:2023-12-04 06:02:52 27 4
gpt4 key购买 nike

我正在尝试录制 DELETE使用 Oracle 的审计功能在某个表中的语句。我跑了:

SQL> AUDIT DELETE TABLE BY TPMDBO BY ACCESS;

Audit succeeded.

我不清楚这是审计表模式本身的删除(即删除表),还是审计任何表中一行或多行的删除(即删除命令)。如果是后者,我如何将此审计限制为仅名为 Foo 的表? ?谢谢!

更新:
SQL> show parameter audit

NAME TYPE VALUE
------------------------------------ ----------- -------------
audit_file_dest string /backup/audit
audit_sys_operations boolean TRUE
audit_syslog_level string
audit_trail string XML, EXTENDED

最佳答案

有一个称为细粒度审计 (FGA) 的新功能,它将日志存储在 SYS.FGA_LOG$ 而不是 SYS.AUD$。这是FGA manual .

BEGIN
DBMS_FGA.ADD_POLICY(
object_schema => 'HR',
object_name => 'FOO',
policy_name => 'my_policy',
policy_owner => 'SEC_MGR',
enable => TRUE,
statement_types => 'DELETE',
audit_condition => 'USER = ''myuser''',
audit_trail => DBMS_FGA.DB);
END;
/

是的,您的原始命令应该审核此用户在所有表上的 DELETE 操作(而不是 DROP)。检查 show parameter audit

关于oracle - 如何使用Oracle审计某个表中的删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8732389/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com