SELECT s.SID, s.USERNAME, s.STATUS, s.MACHINE, sq.SQL_TEXT
FROM V$SESSION s JOIN V$SQL sq ON s.SQL_ID = sq.SQL_ID
WHERE s.STATUS = ‘ACTIVE’ AND s.USERNAME IS NOT NULL;
慢SQL与资源占用
按总耗时与执行次数定位最耗资源的SQL:
SELECT SQL_ID, SQL_TEXT, ELAPSED_TIME/1000000 “耗时(秒)”, EXECUTIONS
FROM V$SQL ORDER BY ELAPSED_TIME DESC FETCH FIRST 10 ROWS ONLY;
表空间容量
识别使用率高的表空间(阈值建议≥**80%**预警):
SELECT a.TABLESPACE_NAME,
ROUND(a.BYTES/1024/1024,2) “总大小(MB)”,
ROUND((a.BYTES-b.BYTES)/1024/1024,2) “已用(MB)”,
ROUND((a.BYTES-b.BYTES)/a.BYTES*100,2) “使用率%”
FROM (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) a,
(SELECT TABLESPACE_NAME, SUM(BYTES) BYTES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) b
WHERE a.TABLESPACE_NAME = b.TABLESPACE_NAME;