1.数据库层面不需要开审计(可开可不开)
2.具体示例
监控test用户下的emp1这个表是否执行了 update,insert,delete操作。
test用户下的emp1表结构如下:
(1)策略执行如下
BEGIN
DBMS_FGA.ADD_POLICY (
object_schema => 'test',
object_name => 'emp1',
policy_name => 'mypolicy1',
audit_column => 'a,b,c,d',
handler_schema => NULL,
handler_module => NULL,
enable => TRUE,
statement_types => 'INSERT, UPDATE, DELETE',
audit_trail => DBMS_FGA.DB + DBMS_FGA.EXTENDED);
END;
/
截图如下:
执行即启用了该策略。
select * from dba_fga_audit_trail where policy_name='MYPOLICY1';
可以查看结果
SQL_TEXT可以具体的语句
TIMESTAMP和EXTENDED_TIMESTAMP字段可以看语句执行的时间
(2)禁用这个策略
如果不用了的话,可以考禁用该策略
BEGIN
DBMS_FGA.DISABLE_POLICY (
object_schema => 'TEST',
object_name => 'emp1',
policy_name => 'mypolicy1');
END;
/
(3) 启用这个策略
如果之前禁用了该策略,后面想重新启用该策略的话可以执行
BEGIN
DBMS_FGA.ENABLE_POLICY (
object_schema => 'TEST',
object_name => 'emp1',
policy_name => 'mypolicy1');
END;
/
(4) 删除这个策略
如果不用了的话,可以考虑删除该策略
BEGIN
DBMS_FGA.DROP_POLICY (
object_schema => 'test',
object_name => 'emp1',
policy_name => 'mypolicy1');
END;
/
截图如下:
参考链接:
DBMS_FGAhttps://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_fga.htm#ARPLS015
DBMS_FGAhttps://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_fga.htm#ARPLS015