Oracle查看SQL历史

    背景,突然发现数据库中数据表内容大量减少,于是想出查下oracle的sql执行历史以查看是执行的什么sql来删除的,于是搜到了http://blog.csdn.net/wzy0623/article/details/9388061 ,

    以sysdba登录

sqlplus / as sysdba;

执行如下sql查看最近3天执行的delete和truncate操作

  SELECT c.username,    
         a.program,      
		 b.sql_text,         
		 b.command_type,         
		 a.sample_time   
		 FROM dba_hist_active_sess_history a
         JOIN dba_hist_sqltext b
            ON a.sql_id = b.sql_id
         JOIN dba_users c
            ON a.user_id = c.user_id
   WHERE     a.sample_time BETWEEN SYSDATE - 3 AND SYSDATE
         AND b.command_type IN (7, 85)
ORDER BY a.sample_time DESC;
    搜出结果还算有用,虽然都是业务删除,记录下

你可能感兴趣的:(面试&&经历)