SELECT UPPER(F.TABLESPACE_NAME)"表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES)/ D.TOT_GROOTTE_MB *100,2),'990.99')"使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"FROM(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) TOTAL_BYTES,ROUND(MAX(BYTES)/(1024*1024),2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUPBY TABLESPACE_NAME) F,(SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES)/(1024*1024),2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUPBY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDERBY4DESC;
查看临时表空间占用情况
SELECT D.TABLESPACE_NAME "临时表空间名",
SPACE "表空间大小(M)",
USED_SPACE "已使用空间(M)",ROUND(NVL(USED_SPACE,0)/ SPACE *100,2)"使用比(%)",
NVL(FREE_SPACE,0)"空闲空间(M)"FROM(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUPBY TABLESPACE_NAME) D,(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USED_SPACE,ROUND(SUM(BYTES_FREE)/(1024*1024),2) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUPBY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
查看表空间、数据文件
select FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE from dba_data_files
查看库中每个表所占的空间大小,单位G
select Segment_Name,Sum(bytes)/1024/1024/1024From User_Extents GroupBy Segment_Name s
二、undo表空间
查看undo表空间的名称
SELECT tablespace_name FROM dba_tablespaces WHERE contents='UNDO';
查看已有的undo表空间数据文件存放路径
select FILE_NAME,TABLESPACE_NAME from dba_data_files where TABLESPACE_NAME ='UNDOTBS1';