/*--------------------------------
데이터파일 HWM 확인하는 쿼리
--------------------------------*/
SQL> set lines 200
SQL> col tablespace_name format a15
SQL> col file_name format a45
SQL> SELECT
TABLESPACE_NAME,
FILE_ID,
FILE_NAME,
DFSIZEMB,
HWMMB,
DFFREEMB,
TRUNC((DFFREEMB/DFSIZEMB)*100,2) "% FREE",
TRUNC(DFSIZEMB-HWMMB,2) "RESIZEBLE"
FROM
(
SELECT
DF.TABLESPACE_NAME TABLESPACE_NAME,
DF.FILE_ID FILE_ID,
DF.FILE_NAME FILE_NAME,
DF.BYTES/1024/1024 DFSIZEMB,
TRUNC((EX.HWM*(TS.BLOCK_SIZE))/1024/1024,2) HWMMB,
DFFREEMB
FROM
DBA_DATA_FILES DF,
DBA_TABLESPACES TS,
(
SELECT FILE_ID, SUM(BYTES/1024/1024) DFFREEMB
FROM DBA_FREE_SPACE
GROUP BY FILE_ID
) FREE,
(
SELECT FILE_ID, MAX(BLOCK_ID+BLOCKS) HWM
FROM DBA_EXTENTS
GROUP BY FILE_ID
) EX
WHERE DF.FILE_ID = EX.FILE_ID
AND DF.TABLESPACE_NAME = TS.TABLESPACE_NAME
AND DF.FILE_ID = FREE.FILE_ID (+)
ORDER BY DF.TABLESPACE_NAME, DF.FILE_ID
) ;
🙌 댓글, 공감, 공유는 큰 힘이 됩니다! 😄
참조 : https://stelliosdba.blogspot.com/2012/03/ora-03297-file-contains-used-data.html