Oracle12c数据库怎么查看表空间使用情况

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

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

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

  1. SELECT F.TABLESPACE_NAME,

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

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

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

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

  6.   FROM (SELECT TABLESPACE_NAME,

  7.                ROUND(SUM(BLOCKS *

  8.                          (SELECT VALUE / 1024

  9.                             FROM V$PARAMETER

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

  11.           FROM CDB_FREE_SPACE

  12.          GROUP BY TABLESPACE_NAME) F,

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

  14.           FROM CDB_DATA_FILES

  15.          GROUP BY TABLESPACE_NAME) T

  16.  WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME;

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

  1. SELECT F.TABLESPACE_NAME,

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

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

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

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

  6.   FROM (SELECT TABLESPACE_NAME,

  7.                ROUND(SUM(BLOCKS *

  8.                          (SELECT VALUE / 1024

  9.                             FROM V$PARAMETER

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

  11.           FROM CDB_FREE_SPACE

  12.          GROUP BY TABLESPACE_NAME) F,

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

  14.           FROM CDB_DATA_FILES

  15.          GROUP BY TABLESPACE_NAME) T

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

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