いつもお世話になっております。
Oracelの表領域のサイズを求める際に、下記のSQLを実行しているのですが、
お聞きしたいことがございます。
【SQL】
SELECT A.TABLESPACE_NAME 表領域 , ROUND(SUM(BYTES) / 1024 / 1024, 1) "ファイル容量(MB)" , ROUND(SUM(BYTES - SUM_BYTES) / 1024 / 1024, 1) "使用容量(MB)" , ROUND(SUM(SUM_BYTES) / 1024 / 1024, 1) "空き容量(MB)" , ROUND((SUM(BYTES - SUM_BYTES) / 1024) / (SUM(BYTES) / 1024) * 100, 1) "使用率(%)" FROM DBA_DATA_FILES A LEFT JOIN ( SELECT TABLESPACE_NAME , FILE_ID , NVL(SUM(BYTES), 0) SUM_BYTES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME , FILE_ID ) B ON A.TABLESPACE_NAME = B.TABLESPACE_NAME AND A.FILE_ID = B.FILE_ID GROUP BY A.TABLESPACE_NAME ORDER BY 1;
上記の項目である「使用容量(MB)」を下記のケースでそれぞれ求めたいのですが、可能でしょうか。可能であるならば、実行するSQLをご教示頂けないでしょうか。
パターン1:テーブルの断片化が多発しており、実データより多くの容量が含まれている表領域の「使用容量(MB)」を求めるパターン。
パターン2:実データのみの表領域の「使用容量(MB)」を求めるパターン。
以上、よろしくお願いいたします。