Oracle獲取最近執行的SQL語句


注意:不是每次執行的語句都會記錄(如果執行的語句是能在該表找到的則ORACLE不會再次記錄,就是說本次執行的語句和上次或者說以前的語句一模一樣則下面語句就查不出來的):

select  last_load_time, sql_text from v$sql 
where module not in ('jsenv.exe','w3wp.exe','SQL Developer') 
--and sql_text like '%"Extent1"."ENCOUNTERID"%' 
order by last_load_time desc;

select sql_text,last_load_time from v$sql order by last_load_time desc;

SELECT   sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and (sql_text like 'select%' or sql_text like 'SELECT%') ORDER BY last_load_time DESC;

SELECT   sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'update%' ORDER BY last_load_time DESC;

SELECT   sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and last_load_time like' 2017-6-9%' ORDER BY last_load_time DESC;

select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT
  from v$session a, v$sqlarea b 
where a.sql_address = b.address; 
---執行過的
select b.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXT,b.FIRST_LOAD_TIME
from v$sqlarea b
where b.FIRST_LOAD_TIME between to_date('2017-06-09 13:24:47','yyyy-mm-dd hh24:mi:ss') and to_date('2017-06-10 13:24:47','yyyy-mm-dd hh24:mi:ss')
order by b.FIRST_LOAD_TIME;
--(此方法好處可以查看某一時間段執行過的sql,並且 SQL_FULLTEXT 包含了完整的 sql 語句)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM