查詢Oracle正在執行的sql語句及執行該語句的用戶


查詢Oracle正在執行的sql語句及執行該語句的用戶
SELECT B.SID ORACLEID,
B.USERNAME 登錄ORACLE用戶名,
B.SERIAL#,
SPID 操作系統ID,
PADDR,
SQL_TEXT 正在執行的SQL,
B.MACHINE 計算機名
FROM V$PROCESS A, V$SESSION B, V$SQLAREA C
WHERE A.ADDR = B.PADDR
AND B.SQL_HASH_VALUE = C.HASH_VALUE;

--查看正在執行sql的發起者的發放程序
SELECT OSUSER 電腦登錄身份,
PROGRAM 發起請求的程序,
USERNAME 登錄系統的用戶名,
SCHEMANAME,
B.CPU_TIME 花費CPU的時間,
STATUS,
B.SQL_TEXT 執行的SQL
FROM 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 DESC;

--鎖表查詢SQL
SELECT OBJECT_NAME, MACHINE, S.SID, S.SERIAL#
FROM GV$LOCKED_OBJECT L, DBA_OBJECTS O, GV$SESSION S
WHERE L.OBJECT_ID  = O.OBJECT_ID
AND L.SESSION_ID = S.SID;

--釋放SESSION SQL:
--alter system kill session 'sid, serial#';
ALTER SYSTEM KILL SESSION '23, 1647';

--查某一用戶下的表大小
SELECT SEGMENT_NAME, TABLESPACE_NAME, SUM(BYTES / 1024 / 1024) || 'M'
FROM USER_EXTENTS
WHERE SEGMENT_TYPE = 'TABLE'
GROUP BY SEGMENT_NAME, TABLESPACE_NAME
ORDER BY 3 DESC;

--查所有的表大小
SELECT SEGMENT_NAME, TABLESPACE_NAME, SUM(BYTES / 1024 / 1024) || 'M'
FROM DBA_EXTENTS
WHERE SEGMENT_TYPE = 'TABLE'
GROUP BY SEGMENT_NAME, TABLESPACE_NAME
ORDER BY 3 DESC;

--oracle查詢歷史執行語句
SELECT *
FROM V$SQLAREA
WHERE /*PARSING_SCHEMA_NAME = 'ORDERS'
AND */SQL_TEXT LIKE '%delete%'
ORDER BY LAST_ACTIVE_TIME


免責聲明!

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



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