1.查看表空间物理文件的名称及大小
SELECT TABLESPACE_NAME,
FILE_ID,
FILE_NAME,
ROUND(BYTES / (1024 * 1024), 0) TOTAL_SPACE
FROM DBA_DATA_FILES
ORDER BY TABLESPACE_NAME;
2.查看表空间的名称及大小
SELECT T.TABLESPACE_NAME,
ROUND(SUM(BYTES / (1024 * 1024)), 0) TS_SIZE
FROM DBA_TABLESPACES T, DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME
GROUP BY T.TABLESPACE_NAME;
3.查看表空间的使用情况
SELECT SUM(BYTES) / (1024 * 1024) AS FREE_SPACE,
TABLESPACE_NAME
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME;
SELECT A.TABLESPACE_NAME,
A.BYTES TOTAL,
B.BYTES USED,
C.BYTES FREE,
(B.BYTES * 100) / A.BYTES "% USED ",
(C.BYTES * 100) / A.BYTES "% FREE "
FROM SYS.SM$TS_AVAIL A,
SYS.SM$TS_USED B,
SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME
AND A.TABLESPACE_NAME = C.TABLESPACE_NAME;
4.查看数据库的表空间大小(G为单位)及使用率
SELECT A.TABLESPACE_NAME "表空间名",
TOTAL "表空间大小",
FREE "表空间剩余大小",
(TOTAL - FREE) "表空间使用大小",
TOTAL / (1024 * 1024 * 1024) "表空间大小(G)",
FREE / (1024 * 1024 * 1024) "表空间剩余大小(G)",
(TOTAL - FREE) / (1024 * 1024 * 1024) "表空间使用大小(G)",
ROUND((TOTAL - FREE) / TOTAL, 4) * 100 "使用率 %"
FROM (SELECT TABLESPACE_NAME, SUM(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME, SUM(BYTES) TOTAL
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME;
单位换算如下所示
1G=1024MB
1M=1024KB
1K=1024Bytes
1M=11048576Bytes
1G=1024*11048576Bytes=11313741824Bytes
5.查看当前用户使用的表空间情况,其中username标识用户名,default_tablespace表示默认的表空间。
SELECT * FROM USER_USERS;
6.查看oracle下面所有的表空间,使用命令即可,呈现的信息包括表空间名称以及表空间的大小等。
SELECT * FROM DBA_TABLESPACES;