如何跟踪数据库变化的数据--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;
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;
相关文章推荐
- oracle-3-子查询和常用函数
- Oracle同义词创建及其作用
- Oracle分页
- oracle
- oracle-2-sql数据操作和查询
- oracle 11g dbf数据文件从C盘迁移到D盘
- oracle查询小结
- Duplication with Oracle Managed Files(OMF)
- Oracle 排序中使用nulls first 或者nulls last 语法
- Oracle-BPM(十)
- oracle字符集的问题
- ORACLE數據庫慢排除
- iptables的nf_conntrack相关参数引起两个问
- Oracle 表分区与索引分区
- _use_adaptive_log_file_sync参数分析
- Oracle 控制文件和日志文件
- 《oracle每天一练》触发器不能调用或间接调用COMMIT,ROLLBACK等DCL语句
- oracle 分组编号 ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN ) 的用法
- Oracle default 函数记录(sys_guid......)
- Oracle EBS中订单登记后,发放销售订单以便挑库时,找不到相应的销售订单