您的位置:首页 > 数据库 > Oracle

如何跟踪数据库变化的数据--oracle

2016-04-26 16:00 651 查看
一、激活审计
1、使用sysdba登陆PL/SQL
2、查看审计参数,在命令窗口中执行如下语句:
show parameter audit_sys_operations;
如果value值为false,说明未激活
3、激活
alter system set audit_sys_operations=true scope=spfile;
alter system set audit_trail=db scope=spfile;
4、重新启动数据库
startup force
5、再次查看参数
show parameter audit_sys_operatons;
show parameter audit_trail;

二、定义数据库需要审计的表
在sql窗口执行:
begin
dbms_fga.add_policy(object_schema => 'bankuser', --schema名(默认当前操作用户)
object_name => 'emp', --被操作object对象
policy_name => 'chk_emp', --policy名(唯一)
audit_condition => NULL,
audit_column => NULL, --监视的字段(默认为全部)
handler_schema => NULL,
handler_module => NULL,
enable => TRUE,
statement_types => 'select,insert,update,delete', --受影响的操作
audit_trail => dbms_fga.DB_EXTENDED, --默认值
audit_column_opts => dbms_fga.ANY_COLUMNS); --默认值
end;
三、授权普通用户查看审计表
grant select on dba_fga_audit_trail to bankuser;

四、执行增删改操作后如何查看
select * from sys.dba_fga_audit_trail;

五、取消审计,节省资源
begin
dbms_fga.drop_policy(object_schema => 'bankuser', --schema名(默认当前操作用户)
object_name => 'emp', --被操作object对象
policy_name => 'chk_emp');
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: