数据库

 首页 > 数据库 > MySql > Oracle FGA审计记录的清理步骤

Oracle FGA审计记录的清理步骤

分享到:
【字体:
导读:
         摘要:Oracle FGA审计记录的清理步骤...

Oracle FGA审计记录的清理步骤
注意:本文为原创文章,转载请注明出处:
http://blog.csdn.net/msdnchina/article/details/38435999
一、确认有哪些fga审计策略,
从select * from dba_audit_policies就可以查询到审计策略,请注意,查询结果中的每一行,就是一个审计策略。

另外,fga审计记录存放在这个视图中:select * from dba_fga_audit_trail
该视图对应的后台基表为:sys.fga_log$,见如下的视图。注意,fga审计策略不是存放在sys.aud$表中!!!

---摘录开始
CREATE OR REPLACE VIEW DBA_FGA_AUDIT_TRAIL
(session_id, timestamp, db_user, os_user, userhost, client_id, econtext_id, ext_name, object_schema, object_name, policy_name, scn, sql_text, sql_bind, comment$text, statement_type, extended_timestamp, proxy_sessionid, global_uid, instance_number, os_process, transactionid, statementid, entryid, obj_edition_name, dbid)
AS
select
      sessionid,
      CAST (
        (FROM_TZ(ntimestamp#,'00:00') AT LOCAL) AS DATE
      ),
      dbuid, osuid, oshst, clientid, auditid, extid,
      obj$schema, obj$name, policyname, scn, to_nchar(substr(lsqltext,1,2000)),
      to_nchar(substr(lsqlbind,1,2000)), comment$text,
      DECODE(stmt_type,
              1, 'SELECT', 2, 'INSERT', 4, 'UPDATE', 8, 'DELETE', 'INVALID'),
      FROM_TZ(ntimestamp#,'00:00') AT LOCAL,
      proxy$sid, user$guid, instance#, process#,
      xid, statement, entryid, obj$edition, dbid
from sys.fga_log$
---摘录结束

二、禁用fga审计策略:

以下以 policy_name => 'EMP_FGA_AUDIT'为例子说明,当然,客户的环境中,可能存在多个审计策略。
begin
dbms_fga.enable_policy (
  object_schema => 'SCOTT', 
  object_name =>'EMP',
  policy_name => 'EMP_FGA_AUDIT',
  enable => FALSE
);
end;


请补全其他的审计策略


三、执行exp 导出sys.fga_log$表
exp sys/aa file=fga_logdmp log=fga_logexp.log tables=sys.fga_log$ buffer=99999999

请注意:sys.fga_log$为5G大小(请注意,该表有lob字段,不能只查询dba_segments来确定带有lob列的表的大小),所以,导出可能需要一段时间。

四、 删除日志表:
truncate table sys.fga_log$

五、开启fga审计策略:

begin
dbms_fga.enable_policy (
  object_schema => 'SCOTT', 
  object_name =>'EMP',
  policy_name => 'EMP_FGA_AUDIT',
  enable => TRUE
);
end;

请补全其他的审计策略


注意:上边=>后边的信息,可以从dba_audit_policies查询出来。





Oracle FGA审计记录的清理步骤
分享到:
oracle ocp知识点
oracle ocp知识点1.如何确定数据库是否启动 su - oracle ps -ef |grep ora_|head -2 两种关系数据库是ora或者是自动存储管理的asm开头的, 查看进程可以知道数据库实例至少已经启动,但是数据库是否挂载,是否打开,不得而知 asm crs_stat -t updb.db online srvctl status database -d updb db sqlplus  -s / as sysdba s...
SQLServer2008-2012资源及性能监控—CPU...
SQLServer2008-2012资源及性能监控—CPU使用率监控详解前言: CPU是服务器中最重要的资源。在数据库服务器中,CPU的使用情况应该时刻监控以便SQLServer一直处于最佳状态。 本文将会使用可靠性和性能监视器来获取CPU相关的使用统计信息 可靠性和性能监视器是过去性能监视器工具的加强版。同时拥有性能监视器的全部功能。 ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……