表对象占用空间大小
SELECT TABLE_USED_PAGES(‘用户名’, ‘表名’) * PARA_VALUE / 1024 / 1024 “USER_USED_SPACE(MB)”
FROM V$DM_INI
WHERE PARA_NAME LIKE ‘GLOBAL_PAGE_SIZE’;
例子如下:
表空间使用率
该查询语句主要针对非系统表空间,并且开启自动扩展后,以表空间可以扩展的最大值计算,实际占用可能会小于该值。
SELECT b.name 表空间名, A.U 表空间使用大小M, A.Z-A.U 表空间剩余大小M, A.Z 表空间大小M, A.U100/A.Z AS “表空间使用率%” FROM ( SELECT GROUP_ID , SUM(TOTAL_SIZE-FREE_SIZE)(select page/1024)/1024 U, SUM(MAX_SIZE) Z FROM V
D
A
T
A
F
I
L
E
G
R
O
U
P
B
Y
G
R
O
U
P
I
D
)
A
,
V
DATAFILE GROUP BY GROUP_ID ) A, V
DATAFILEGROUPBYGROUPID)A,VTABLESPACE B WHERE A.group_id=b.id and b.name not in (‘MAIN’,‘TEMP’,‘ROLL’,‘SYSTEM’);
样例
查看是否有慢SQL
select SESS_ID,SQL_TEXT,EXEC_TIME/1000||’ s’ as EXEC_TIME,FINISH_TIME,N_RUNS from V$LONG_EXEC_SQLS order by EXEC_TIME desc;
查看是否有死锁
select TRX_ID 事务ID,SESS_ID 会话ID,SESS_SEQ 会话序列号_唯一标识会话,SQL_TEXT 死锁SQL,HAPPEN_TIME 死锁发生时间 from v$deadlock_history;