首页 > 代码库 > Oracle 表空间查询
Oracle 表空间查询
一、普通查询
SELECT Total.name TablespaceName,
Free_space,
(total_space - Free_space) Used_space,
total_space
FROM (select tablespace_name, sum(bytes / 1024 / 1024) Free_Space
from sys.dba_free_space
group by tablespace_name) Free,
(select b.name, sum(bytes / 1024 / 1024) TOTAL_SPACE
from sys.v_$datafile a, sys.v_$tablespace B
where a.ts# = b.ts#
group by b.name) Total
WHERE Free.Tablespace_name = Total.name;
二、根据Oracle 不活动连接用户查询使用空间
select t.owner 名称,sum(t.BYTES)/1024/1024/1024 使用大小_G from dba_segments t
where t.TABLESPACE_NAME=‘USERS‘ and t.owner not in(
select DISTINCT z.USERNAME from (
select t.USERNAME,DECODE(t.STATUS,‘INACTIVE‘,‘等待操作‘,‘ACTIVE‘,‘执行状态‘,‘KILLED‘,‘标注-KILL‘) 状态,
t.SCHEMA#,t.SCHEMANAME,t.MACHINE 机器名 from v$Session t where t.SCHEMANAME<>‘SYS‘ and t.SCHEMA#<>0
) z )
group by t.owner order by t.owner,sum(t.BYTES)/1024/1024/1024
Oracle 表空间查询