「Oracle21c」Oracleの表領域の容量を確認する方法

環境

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Windows 11 Pro 21H2 64bit
Oracle Database 21c Express Edition Release 21.0.0.0.0
Windows 11 Pro 21H2 64bit Oracle Database 21c Express Edition Release 21.0.0.0.0
Windows 11 Pro 21H2 64bit
Oracle Database 21c Express Edition Release 21.0.0.0.0

構文
1.SELECT ROUND(BYTES / 単位, xxx) FROM DBA_DATA_FILES
Oracleの表領域の容量は「DBA_DATA_FILES」の「BYTES」で取得します。

2. SELECT SUM(BYTES) SS FROM DBA_FREE_SPACE
Oracleの空き領域の容量は「DBA_FREE_SPACE」の「BYTES」で取得します。

SQL構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT
TA.TABLESPACE_NAME "表領域"
, ROUND(BYTES / 1024 / 1024, 1) "ファイル容量(M)"
, ROUND(NVL(SS, 0) / 1024 / 1024, 1) "空き容量(M)"
, ROUND(((BYTES - NVL(SS, 0)) / 1024) / (BYTES / 1024) * 100, 1) "使用率(%)"
FROM
DBA_DATA_FILES TA
LEFT JOIN (
SELECT
SUM(BYTES) SS
,TABLESPACE_NAME
, FILE_ID
FROM
DBA_FREE_SPACE
GROUP BY
TABLESPACE_NAME
, FILE_ID
) TB
ON TA.TABLESPACE_NAME = TB.TABLESPACE_NAME
AND TA.FILE_ID = TB.FILE_ID
ORDER BY TB.SS DESC NULLS LAST;
SELECT TA.TABLESPACE_NAME "表領域" , ROUND(BYTES / 1024 / 1024, 1) "ファイル容量(M)" , ROUND(NVL(SS, 0) / 1024 / 1024, 1) "空き容量(M)" , ROUND(((BYTES - NVL(SS, 0)) / 1024) / (BYTES / 1024) * 100, 1) "使用率(%)" FROM DBA_DATA_FILES TA LEFT JOIN ( SELECT SUM(BYTES) SS ,TABLESPACE_NAME , FILE_ID FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME , FILE_ID ) TB ON TA.TABLESPACE_NAME = TB.TABLESPACE_NAME AND TA.FILE_ID = TB.FILE_ID ORDER BY TB.SS DESC NULLS LAST;
SELECT
   TA.TABLESPACE_NAME "表領域"
   , ROUND(BYTES / 1024 / 1024, 1) "ファイル容量(M)"
   , ROUND(NVL(SS, 0) / 1024 / 1024, 1) "空き容量(M)"
   , ROUND(((BYTES - NVL(SS, 0)) / 1024) / (BYTES / 1024) * 100, 1) "使用率(%)" 
FROM
  DBA_DATA_FILES TA 
  LEFT JOIN ( 
    SELECT
      SUM(BYTES) SS 
      ,TABLESPACE_NAME
      , FILE_ID
    FROM
      DBA_FREE_SPACE 
    GROUP BY
      TABLESPACE_NAME
      , FILE_ID
  ) TB 
    ON TA.TABLESPACE_NAME = TB.TABLESPACE_NAME 
    AND TA.FILE_ID = TB.FILE_ID 
 ORDER BY TB.SS DESC NULLS LAST;

操作例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> SELECT
2 TA.TABLESPACE_NAME "表領域"
3 , ROUND(BYTES / 1024 / 1024, 1) "ファイル容量(M)"
4 , ROUND(NVL(SS, 0) / 1024 / 1024, 1) "空き容量(M)"
5 , ROUND(((BYTES - NVL(SS, 0)) / 1024) / (BYTES / 1024) * 100, 1) "使用率(%)"
6 FROM
7 DBA_DATA_FILES TA
8 LEFT JOIN (
9 SELECT
10 SUM(BYTES) SS
11 ,TABLESPACE_NAME
12 , FILE_ID
13 FROM
14 DBA_FREE_SPACE
15 GROUP BY
16 TABLESPACE_NAME
17 , FILE_ID
18 ) TB
19 ON TA.TABLESPACE_NAME = TB.TABLESPACE_NAME
20 AND TA.FILE_ID = TB.FILE_ID
21 ORDER BY TB.SS DESC NULLS LAST;
SQL> SELECT 2 TA.TABLESPACE_NAME "表領域" 3 , ROUND(BYTES / 1024 / 1024, 1) "ファイル容量(M)" 4 , ROUND(NVL(SS, 0) / 1024 / 1024, 1) "空き容量(M)" 5 , ROUND(((BYTES - NVL(SS, 0)) / 1024) / (BYTES / 1024) * 100, 1) "使用率(%)" 6 FROM 7 DBA_DATA_FILES TA 8 LEFT JOIN ( 9 SELECT 10 SUM(BYTES) SS 11 ,TABLESPACE_NAME 12 , FILE_ID 13 FROM 14 DBA_FREE_SPACE 15 GROUP BY 16 TABLESPACE_NAME 17 , FILE_ID 18 ) TB 19 ON TA.TABLESPACE_NAME = TB.TABLESPACE_NAME 20 AND TA.FILE_ID = TB.FILE_ID 21 ORDER BY TB.SS DESC NULLS LAST;
SQL> SELECT
 2     TA.TABLESPACE_NAME "表領域"
 3     , ROUND(BYTES / 1024 / 1024, 1) "ファイル容量(M)"
 4     , ROUND(NVL(SS, 0) / 1024 / 1024, 1) "空き容量(M)"
 5     , ROUND(((BYTES - NVL(SS, 0)) / 1024) / (BYTES / 1024) * 100, 1) "使用率(%)"
 6  FROM
 7    DBA_DATA_FILES TA
 8    LEFT JOIN (
 9      SELECT
10        SUM(BYTES) SS
11        ,TABLESPACE_NAME
12        , FILE_ID
13      FROM
14        DBA_FREE_SPACE
15      GROUP BY
16        TABLESPACE_NAME
17        , FILE_ID
18    ) TB
19      ON TA.TABLESPACE_NAME = TB.TABLESPACE_NAME
20      AND TA.FILE_ID = TB.FILE_ID
21   ORDER BY TB.SS DESC NULLS LAST;

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
表領域 ファイル容量(M) 空き容量(M) 使用率(%)
------------------------------ --------------- ----------- ----------
CFTTABSPA 110 109 .9
UNDOTBS1 110 96.4 12.3
CFTTABSPA 50 49 2
SYSAUX 650 38 94.2
USERS 5 2.3 53.8
SYSTEM 1340 .6 100
6行が選択されました。
表領域 ファイル容量(M) 空き容量(M) 使用率(%) ------------------------------ --------------- ----------- ---------- CFTTABSPA 110 109 .9 UNDOTBS1 110 96.4 12.3 CFTTABSPA 50 49 2 SYSAUX 650 38 94.2 USERS 5 2.3 53.8 SYSTEM 1340 .6 100 6行が選択されました。
 表領域                         ファイル容量(M) 空き容量(M)  使用率(%)
------------------------------ --------------- ----------- ----------
CFTTABSPA                                  110         109         .9
UNDOTBS1                                   110        96.4       12.3
CFTTABSPA                                   50          49          2
SYSAUX                                     650          38       94.2
USERS                                        5         2.3       53.8
SYSTEM                                    1340          .6        100

6行が選択されました。

 

Oracle 21c

Posted by arkgame