oracle 中有没有对insert,update,delete做出日志?
如果有怎么查看?

解决方案 »

  1.   

    www.itpub.net上很多关于日志分析的文章,可以到那边找一找.
      

  2.   

    自带的有logminer,不过得安装脚本,比较麻烦
      

  3.   

    给你个之前写的笔记,测试过的
    oracle版本 10.2.0 路径d:\oracle
    1.
    在d:\oracle目录下新建文件夹logs
    2 sqlplus /nolog
    conn / as sysdba 
    登录成功后执行
    @d:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\dbmslm.sql
    @d:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\dbmslmd.sql
    修改utl_file_dir
    alter system  set  utl_file_dir='d:\oracle\logs' scope=spfile;  
    alter database add supplemental log data (primary key, unique index) columns;
    重启数据库:
    shutdown immediate;
    startup;
    创建字典:
    execute dbms_logmnr_d.build('shwdict.ora','D:\oracle\logs'); 
    成功完成后。3 将要分析的日志文件加入要分析的log list中,(一次添加一个为宜)察看有哪些日志文件可以用select * from v$logfile;查询已经加入那些可以用如下注:----具体redo日志存放路径需修改
     execute dbms_logmnr.add_logfile(LogFileName=>'D:\oracle\product\10.2.0\oradata\testing\REDO01.LOG',Options =>dbms_logmnr.new);
     execute dbms_logmnr.add_logfile(LogFileName=>'D:\oracle\product\10.2.0\oradata\testing\REDO02.LOG',Options =>dbms_logmnr.new);
     execute dbms_logmnr.add_logfile(LogFileName=>'D:\oracle\product\10.2.0\oradata\testing\REDO02.LOG',Options =>dbms_logmnr.new);4更改会话时间表达方式
    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';5执行分析
    exec dbms_logmnr.start_logmnr(dictfilename=>'D:\oracle\logs\shwdict.ora'); 
    可加入以下参数
    -starttime => '2008-07-15 09:39:00',endtime => '2008-07-15 14:45:00');【参数不对,没研究出正确的】PL/SQL procedure successfully completed. 
    跟据需要加入参数,起始时间结束时间。
    6查询分析。
    Select SCN,timestamp, session# session_num, sql_redo
    From V$LOGMNR_CONTENTS where timestamp>to_date('2008-11-19 09:30:00','yyyy-mm-dd hh24:mi:ss');
    查询增删改的日志:
    Select SCN,timestamp, session# ,COMMIT_TIMESTAMP,SEG_TYPE_NAME ,OPERATION,SQL_REDO 
    From V$LOGMNR_CONTENTS where timestamp between to_date('2008-11-19 09:30:00','yyyy-mm-dd hh24:mi:ss') and to_date('2008-11-19 09:40:00','yyyy-mm-dd hh24:mi:ss') and OPERATION in ('DELETE','INSERT','UPDATE');
      

  4.   

    oracle本身就自带有记录操作日志的功能,不过什么查看操作了哪些日志就不知道用什么工具了?
    oracle的日志主要用于恢复误操作的数据