如题。主要是将日志中的update insert 信息的记录提取出来,然后再将这个记录作为历史记录插入历史数据库,最好可以增加时间字段。
用LOGMNR如何?具体如何?
thanks,guy!

解决方案 »

  1.   

    用oracle的审计功能,轻松实现。
      

  2.   

    ORACLE审计小结(ZT):http://hi.baidu.com/%C8%FD%B7%C9%D4%C6/blog/item/75e2818ba06fc1789f2fb4c1.html
      

  3.   

    一 审计功能的参数控制
    audit_trail 参数的值可以设置为以下几种1. NONE:不开启
    2. DB:开启审计功能
    3. OS:审计记录写入一个操作系统文件。
    4. TRUE:与参数DB一样
    5. FALSE:不开启审计功能。
    这个参数是写道spfile里面的,需要重启数据库二 查看是否审计功能是否启动
    SQL> show parameter audit
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    audit_file_dest                      string      /u01/app/oracle/admin/ORCL/adump
    audit_sys_operations                 boolean     FALSE
    audit_syslog_level                   string
    audit_trail                          string      NONE三 开启审计
    SQL> conn /as sysdba
    SQL> show parameter audit
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    audit_file_dest                      string      /u01/app/oracle/admin/ORCL/adump
    audit_sys_operations                 boolean     FALSE
    audit_syslog_level                   string
    audit_trail                          string      NONESQL> alter system set audit_sys_operations=TRUE scope=spfile;    --审计管理用户(以sysdba/sysoper角色登陆)
    SQL> alter system set audit_trail=db,extended scope=spfile;重启实例 
    SQL> show parameter audit
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    audit_file_dest                      string      /u01/app/oracle/admin/ORCL/adump
    audit_sys_operations                 boolean     TRUE
    audit_syslog_level                   string
    audit_trail                          string      DB, EXTENDED      
    (完成)四 关闭审计
    SQL> conn /as sysdba
    SQL> show parameter audit
    SQL> alter system set audit_trail=none;
    重启实例五 检查各个节点的audit_trail 是否都是none 
      

  4.   

    在大型oracle应用上,开启审计功能是不是会影响数据库的效率?
      

  5.   


    是的,开启之后,由于多消耗了资源,会降低20%到30%的性能。但是国内一般用oracle的单位以及公司,都有钱,所以服务器配置都是顶级的,资源绝对够用,打开审计应该不影响整体性能;
    但是外资企业、台企、日企以及韩企等,买服务器的时候都是恰到好处,所以如果开启了审计功能对系统的性能的影响是非常大的。因为他们根本买服务器的时候根本就没有考虑过这块功能对服务器资源的消耗。