oracle最近執行的sql
㈠ tail查看oracle執行過的sql
Oracle 最近執⾏頃鋒過逗漏的sql語句:
1. SELECT sql_text, last_load_time
2. FROM v$sql
3. WHERE last_load_time IS NOT NULL
4. 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%' ORDER BY last_load_time DESC;
㈡ oracle執行歷史查不到執行sql
沒有開啟SQL跟蹤功能。
1、在Oracle中,如果需要查看SQL執行歷史,需要使用SQL跟蹤功能。如果沒有開啟 SQL 跟蹤功能,執行SQL的歷史記錄將無法被記錄下來。
2、執行SQL的歷史記錄已經氏洞過期,在Oracle中,可以配置歷史記錄保留時間,如果歷史記錄保留肢消時間已過,那麼執行SQL的歷史記錄將被刪除。您可以檢查歷史記錄保留時間是否已過期。
3、執行SQL的歷核知歷史記錄被清除或刪除,在Oracle中,管理員可以手動清除或刪除執行SQL的歷史記錄,如果執行SQL的歷史記錄被清除或刪除,那麼您將無法查看到相關的歷史記錄。
㈢ oracle執行歷史查不到執行sql
1 可能查不到
2 原因可罩蔽游能是執行歷史記錄被刪除了,或者是oracle未開啟SQL執行歷史記錄功能。並歲
3 如果歷史記錄被刪除了,可以嘗試在oracle資料庫中查找備份文件,如果開啟了SQL執行歷史物銷記錄功能,可以通過以下命令查詢歷史記錄:
SELECT sql_text, parsing_schema_name, elapsed_time, cpu_time, buffer_gets, disk_reads, optimizer_cost, fetches, executions, child_latch, sql_id, child_number, sql_plan_baseline, sql_plan_baseline_id, force_matching_signature, plan_hash_value, sql_profile, sql_profile_id FROM v$sql
如果還是無法查到,可以嘗試聯系資料庫管理員或者oracle技術支持尋求幫助。
㈣ 如何查看oracle某用戶近期執行的SQL
oracle 查詢最近執行過的 SQL語句
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%' 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' 14-06-09%' ORDER BY last_load_time DESC;---正在執行的
select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXTfrom v$session a, v$sqlarea b
where a.sql_address = b.address
---執行過的
select b.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXTfrom v$sqlarea b
where b.FIRST_LOAD_TIME between '2009-10-15/09:24:47' and'2009-10-15/09:24:47' order by b.FIRST_LOAD_TIME(此方法好處可以查看某一時間段執行過的sql,並且 SQL_FULLTEXT 包含了完整的 sql 語句)其他
select OSUSER,PROGRAM,USERNAME,SCHEMANAME,B.Cpu_Time,STATUS,B.SQL_TEXTfrom V$SESSION A LEFT JOIN V$SQL B ON A.SQL_ADDRESS=B.ADDRESS AND A.SQL_HASH_VALUE=B.HASH_VALUE order by b.cpu_time descselect address, sql_text, piece
from v$session, v$sqltext
where address = sql_address
-- and machine = < you machine name >
order by address, piece
查找前十條性能差的sql.
SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlareaorder BY disk_reads DESC )where ROWNUM<10 ;查看佔io較大的正在運行的session
SELECT se.sid,se.serial#,pr.SPID,se.username,se.status,se.terminal,se.program,se.MODULE,、se.sql_address,st.event,st.
p1text,si.physical_reads,
si.block_changes FROM v$session se,v$session_wait st,v$sess_io si,v$process pr WHERE st.sid=se.sid AND st.
sid=si.sid AND se.PADDR=pr.ADDR AND se.sid>6 AND st.
wait_time=0 AND st.event NOT LIKE '%SQL%' ORDER BY physical_reads DESC
㈤ Oracle如何查看SQL實際執行計劃
1、 查看最近執行的SQL語句
select/*recentsql*/s.SQL_ID,s.CHILD_NUMBER,s.HASH_VALUE,s.ADDRESS,s.EXECUTIONS,s.SQL_TEXT
fromv$sqls
wheres.PARSING_USER_ID=(
selectu.user_idfromall_usersu
whereu.username='YH_TEST'
)ands.COMMAND_TYPEin(2,3,6,7,189)
anpper(s.SQL_TEXT)notlikeupper('%recentsql%')
select/*+gather_plan_statistics*//*plan_statistics1*/name,salaryfromtestwherename='t1';
2、使用dbms_xplan.display_cursor查看執行計劃,它的用法見筆記 《dbms_xplan.display_cursor的用法》,
注意了:若dbms_xplan.display_cursor要以ALLSTATS LAST格式輸出的話,/*+gather_plan_statistics*/這個提示信息放到查詢語句中是必須的。
㈥ 如何查看oracle最近執行的sql
oracle 查詢最近執行過的 SQL語句
selectsql_text,last_load_timefromv$sqlorderbylast_load_timedesc;
SELECTsql_text,last_load_timeFROMv$sqlWHERElast_load_timeISNOTNULLandsql_textlike'select%'ORDERBYlast_load_timeDESC;
SELECTsql_text,last_load_timeFROMv$sqlWHERElast_load_timeISNOTNULLandsql_textlike'update%'ORDERBYlast_load_timeDESC;
SELECTsql_text,last_load_timeFROMv$sqlWHERElast_load_timeISNOTNULLandlast_load_timelike'14-06-09%'ORDERBYlast_load_timeDESC;
㈦ 查看oracle資料庫最近執行了哪些sql語句
-- 查看oracle資料庫最近執行了哪些sql語句搏戚SELECT b.sql_text, --content of SQL a.machine, --which machine run this code a.username, a.mole, -- the method to run this SQL c.sofar / totalwork * 100, --conplete percent c.elapsed_seconds, --run time c.time_remaining --remain to run time FROM v$session a, v$sqlarea b, v$session_longops c WHERE a.sql_hash_value = b.hash_value(+) AND a.SID = c.SID(+) AND a.serial# = c.serial#(+) --AND a.sid=139-- oracle 最棗棗近執行過的sql語句:SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULLORDER BY last_load_time DESC----監控基岩陵concurrent 正在執行的sql --SELECT a.sid, a.serial#, b.sql_text FROM v$session a, v$sqltext b WHERE a.sql_address = b.address --AND a.sid = <...> ORDER BY b.piece