某人修改了table1中的记录,我该如何查看是谁修改了记录,做了哪些修改,操作的日志在哪里看,怎么看

解决方案 »

  1.   

    启动审计功能:alter system set audit_trail=db scope=spfile;
    查看:select * from dba_audit_trail;
      

  2.   


    这个是个好方法,但是里面获取的信息不全,
    建议建立一个数据库级的触发器,建立在SYS用户下,
    可以获取到更为详细的记录信息。
      

  3.   

    现有的库,数据被修改了,客户要求查到是谁修改的,或是什么时间修改的,现在建触发器管用吗
    我就想知道table1表的记录是什么时间修改的
      

  4.   

    那有什么办法呢
    从网上找了个
    select * from v$sql 
    结果集中的列都代表什么意思
    用这个可以吗
      

  5.   


    这个v$sql是查看数据库中执行过的SQL。
      

  6.   


    SQL> conn system/change_on_install as sysdba;
    SQL> select sql_text,sql_id from v$sql
      2  where rownum<10;SQL_TEXT                                                                         SQL_ID
    -------------------------------------------------------------------------------- -------------
    SELECT LAST_LOAD_TIME FROM MGMT_TARGETS WHERE TARGET_GUID=:B1                    9ugwm6xmvw06u
    SELECT BLACKOUT_GUID, START_TIME, END_TIME, STATUS FROM MGMT_BLACKOUT_WINDOWS WH bdfrydpbzw07g
    SELECT TASK_LIST.TASK_ID FROM (SELECT /*+ NO_MERGE(T) ORDERED */ T.TASK_ID FROM  bqfx5q2jas08u
    select     "PARAM_NAME", "PARAM_VALUE", "RECOVERY_URL",     1 as priority,     t 5nq23jdyth0c1
    SELECT POOL, DECODE(TOTAL_BYTES, 0, NULL, 100 * FREE_BYTES / TOTAL_BYTES) PCT FR ghk28kxaw40mw
    INSERT INTO MGMT_METRICS_RAW(COLLECTION_TIMESTAMP, KEY_VALUE, METRIC_GUID, STRIN 8hk7xvhua40va
    INSERT INTO MGMT_METRICS_RAW(COLLECTION_TIMESTAMP, KEY_VALUE, METRIC_GUID, STRIN 8hk7xvhua40va
    INSERT INTO MGMT_METRICS_RAW(COLLECTION_TIMESTAMP, KEY_VALUE, METRIC_GUID, STRIN 8hk7xvhua40va
    SELECT TARGET_TYPE FROM MGMT_TARGETS WHERE TARGET_GUID=:B1                       7xas96bsq01ak9 rows selected
      

  7.   

    那也就是可以查到修改记录的sql了?
      

  8.   


    ORACLE V$SQLAREA, V$SQL 等视图的解释
      

  9.   


    至少可以看到,都是执行过哪些SQL,是否有修改数据的SQL.。。
      

  10.   

    我看到了修改的sql
    还有个问题,这个sql能看多久前得sql,时间范围是什么
      

  11.   

    早晨又运行了1遍,发现只能查看当天执行的sql记录,之前的看不了,有没有其它办法可以看到?
      

  12.   

    我觉得这个需求不大合理,最终用户不能都使用DB来修改记录吧?
    通过DB修改的貌似只要DBA,开发人员。
    只要控制好权限,应该问题不大