Oracle數(shù)據(jù)庫查詢執(zhí)行過的SQL語句方法匯總
1. 直接查詢V$SQL或V$SQLAREA視圖
通過系統(tǒng)視圖V$SQL和V$SQLAREA可直接獲取共享池中緩存的SQL執(zhí)行記錄,包括歷史SQL文本、執(zhí)行次數(shù)、CPU/耗時等統(tǒng)計信息:
-- 查詢所有執(zhí)行過的SQL(按總耗時降序) SELECT sql_id, sql_text, executions, ROUND(elapsed_time/1000, 2) AS total_elapsed_time_s, ROUND(cpu_time/1000, 2) AS cpu_time_s, first_load_time, last_active_time FROM v$sql ORDER BY elapsed_time DESC;
- 關鍵字段:
sql_text(SQL文本)、executions(執(zhí)行次數(shù))、last_active_time(最后執(zhí)行時間)16。
2. 結(jié)合會話信息關聯(lián)查詢
通過關聯(lián)V$SESSION和V$SQL視圖,可追溯SQL執(zhí)行者及會話信息:
-- 查詢SQL執(zhí)行者及會話詳情 SELECT s.sid, s.username, s.osuser, s.machine, q.sql_text, q.executions, q.last_load_time FROM v$session s JOIN v$sql q ON s.sql_id = q.sql_id WHERE q.last_active_time > SYSDATE - 7; -- 近7天執(zhí)行的SQL
- 說明:
v$session提供會話的登錄用戶、操作系統(tǒng)信息,v$sql關聯(lián)具體SQL內(nèi)容23。
3. 按時間或操作類型過濾
針對特定時間段或操作類型(如DELETE、UPDATE)進行精確篩選:
-- 查詢2025年3月1日后的DELETE操作記錄
SELECT sql_text, parsing_user_id, last_active_time FROM v$sqlarea WHERE sql_text LIKE 'DELETE%' AND last_active_time >= TO_DATE('2025-03-01', 'YYYY-MM-DD');- 注意:
v$sqlarea視圖包含完整的SQL文本,但需注意LIKE模糊匹配的性能影響47。
4. 按用戶或權限過濾
通過parsing_user_id或parsing_schema_name字段追蹤特定用戶的SQL執(zhí)行記錄:
-- 查詢用戶SCOTT執(zhí)行過的SQL SELECT sql_text, executions, last_active_time FROM v$sql WHERE parsing_user_id = (SELECT user_id FROM dba_users WHERE username = 'SCOTT');
- 依賴權限:需具備
DBA_USERS和V$SQL的查詢權限57。
注意事項
- 數(shù)據(jù)保留周期:
V$SQL和V$SQLAREA存儲的是共享池中的緩存SQL,若實例重啟或SQL被淘汰,歷史記錄可能丟失16。 - 權限要求:查詢系統(tǒng)視圖需授予
SELECT_CATALOG_ROLE或直接授權(如GRANT SELECT ON v_$sql TO user;)78。 - 性能影響:高頻查詢系統(tǒng)視圖可能對數(shù)據(jù)庫性能產(chǎn)生輕微影響,建議在非高峰時段操作23。
以上方法可綜合使用,建議優(yōu)先通過V$SQL按時間或用戶維度縮小查詢范圍,再關聯(lián)會話信息定位問題SQL14。
總結(jié)
到此這篇關于Oracle數(shù)據(jù)庫查詢執(zhí)行過的SQL語句方法的文章就介紹到這了,更多相關Oracle查詢執(zhí)行過SQL語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PL/SQL?Developer15和Oracle?Instant?Client安裝配置詳細圖文教程
PL/SQL Developer是一種集成的開發(fā)環(huán)境,專門用于開發(fā)、測試、調(diào)試和優(yōu)化Oracle PL/SQL存儲程序單元,比如觸發(fā)器等,這篇文章主要給大家介紹了關于PL/SQL?Developer15和Oracle?Instant?Client安裝配置的詳細圖文教程,需要的朋友可以參考下2024-04-04
plsql developer修改sql窗口的大小實現(xiàn)
本文主要介紹了plsql developer修改sql窗口的大小實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-08-08

