两个oracle服务器,结构差不过,但内容不一样。
服务器A用a.sql更新过,之后a.sql被不小心删除了。
现在想在另一个服务器B上也运行a.sql的操作,能通过A服务器的日志或其他方式找到a.sql执行的sql语句么。
或者可以说oracle的日志能找到之前执行过的sql语句吗?
如果能怎么该怎么做。请教!!

解决方案 »

  1.   

    select * from v$session
      

  2.   

    select * from v$sql;
    执行后是类似这样的结果。
    SERIALIZABLE_ABORTS
    -------------------
    OUTLINE_CATEGORY                                                   CPU_TIME
    ---------------------------------------------------------------- ----------
    ELAPSED_TIME OUTLINE_SID CHILD_AD    SQLTYPE R OBJECT_STATUS
    ------------ ----------- -------- ---------- - -------------------
    LITERAL_HASH_VALUE LAST_LOAD_TIME                         I CHILD_LATCH
    ------------------ -------------------------------------- - -----------
    SQL_PROFILE                                                      PROGRAM_ID
    ---------------------------------------------------------------- ----------
    PROGRAM_LINE# EXACT_MATCHING_SIGNATURE FORCE_MATCHING_SIGNATURE LAST_ACTIVE_TI
    ------------- ------------------------ ------------------------ --------------
    BIND_DATA这样还是查不到a.sql都执行了哪些sql语句。
      

  3.   

    如果是归档模式下 用logminer能找到如果是非归档模式下,就要看运气了,在日志被覆盖之前能找到,被覆盖之后的话就只有上帝知道如何找到了
      

  4.   

    执行的脚本是找不回来的了,得看你的a.sql大概内容,如果只是一条语句或比较简单的操作话,看情况能不能找回那语句