我与别人用的是一个数据库,但是我今天来发现表少了几个,我想看哈他们在数据删了那些,修改了那些。有没有这样的日志可以看?

解决方案 »

  1.   

    日志的不会如果是9i或者是以上版本的话你可以试试这个
    SELECT * FROM test AS OF TIMESTAMP 
    TO_DATE(’2010-11-04 11:25:17′, ‘YYYY-MM-DD HH:MI:SS’);
    查询某个时间戳时的数据
      

  2.   

    begin 
    SYS.DBMS_LOGMNR.ADD_LOGFILE('C:\oracle\oradata\oracle\REDO01.LOG', --这里REDO01-REDO03
    sys.dbms_logmnr.New); 
    end; select min(low_time),  max(high_time), 
          min(low_scn),  max(next_scn) -1 
    from V$logmnr_logs; begin 
    SYS.DBMS_LOGMNR.START_LOGMNR(Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG); 
    end; Select 
    SCN, 
    timestamp, 
    sql_redo, 
    session# session_num, 
    username, 
    session_info 
    From V$LOGMNR_CONTENTS where sql_redo like '%update%'
    Order by 1; 
    begin 
    SYS.DBMS_LOGMNR.END_LOGMNR(); 
    end;
      

  3.   

    你要求的这些功能,oracle目前还提供不了吧!只能记录一些起本的信息吧!
    如果想看你说的那些操作,只能自己监视了吧!
    select   member   from   v$logfile可以查看你的log文件,不过这些都是不可看的内容,你可以通过你写工具去分析
      

  4.   

    1、修改参数文件init.ora,参数audit_trail值为true; 
    2、重新启动数据库; 
    3、打开审计audit   session; 
    4、执行登录操作; 
    5、察看审计结果: 
          select   *   from   dba_audit_session; 
          select   *   from   sys.aud$; 
          select   *   from   dba_audit_trail; 
          select   *   from   dba_audit_exists
      

  5.   

    无论是审核,还是 LOGMNR 都需要事先进行设置。
    闪回查询只能查看有限时间前的 dml 语句对数据更改,而 ddl 语句对表结构无法查看。
      

  6.   

    select * from v$sql
    可以查看这个里面的一些操作DB的信息,不知道是不是你想要的