本篇内容主要讲解“Oracle12c数据库怎么查看表空间使用情况”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle12c数据库怎么查看表空间使用情况”吧!

通过以下sql语句可以查看Oracle12c数据库中所有表空间的使用情况:

可以通过以下语句查看Oracle12c数据库中所有表空间的使用情况:

SELECT F.TABLESPACE_NAME,

(T.TOTAL_SPACE - F.FREE_SPACE) / 1024 "USED (GB)",

F.FREE_SPACE / 1024 "FREE (GB)",

T.TOTAL_SPACE / 1024 "TOTAL(GB)",

(ROUND((F.FREE_SPACE / T.TOTAL_SPACE) * 100)) || '% ' PER_FREE

FROM (SELECT TABLESPACE_NAME,

ROUND(SUM(BLOCKS *

(SELECT VALUE / 1024

FROM V$PARAMETER

WHERE NAME = 'db_block_size') / 1024)) FREE_SPACE

FROM CDB_FREE_SPACE

GROUP BY TABLESPACE_NAME) F,

(SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / 1048576)) TOTAL_SPACE

FROM CDB_DATA_FILES

GROUP BY TABLESPACE_NAME) T

WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME;

可以通过添加筛选条件查看指定表空间的使用情况,代码如下:

SELECT F.TABLESPACE_NAME,

(T.TOTAL_SPACE - F.FREE_SPACE) / 1024 "USED (GB)",

F.FREE_SPACE / 1024 "FREE (GB)",

T.TOTAL_SPACE / 1024 "TOTAL(GB)",

(ROUND((F.FREE_SPACE / T.TOTAL_SPACE) * 100)) || '% ' PER_FREE

FROM (SELECT TABLESPACE_NAME,

ROUND(SUM(BLOCKS *

(SELECT VALUE / 1024

FROM V$PARAMETER

WHERE NAME = 'db_block_size') / 1024)) FREE_SPACE

FROM CDB_FREE_SPACE

GROUP BY TABLESPACE_NAME) F,

(SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / 1048576)) TOTAL_SPACE

FROM CDB_DATA_FILES

GROUP BY TABLESPACE_NAME) T

WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME AND T.TABLESPACE_NAME LIKE 'ABC%';

到此,相信大家对“Oracle12c数据库怎么查看表空间使用情况”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!