背景,突然發現資料庫中資料表內容大量減少,於是想出查下oracle的sql執行歷史以檢視是執行的什麼sql來刪除的,於是搜到了 ,
以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;
檢視oracle 使用者執行的sql語句歷史記錄
1 檢視oracle執行過的sql語句 select from v sqlarea t order by t.last active time desc 2 檢視oracle會話 select from v session t order by t.last active time desc 3 檢...
檢視oracle 使用者執行的sql語句歷史記錄
select from v sqlarea t order by t.last active time desc oracle 檢視已經執行過的sql 這些是存在共享池中的 select from v sqlarea t order by t.last active time desc 檢視orac...
檢視oracle 使用者執行的sql語句歷史記錄
平時用得少,儲存一下以後檢視。select from v sqlarea t where t.parsing schema name in 使用者名稱 order by t.last active time desc 使用者名稱需要大寫 select from v sqlarea t order b...