SQL> COL FILE_NAME FORMAT A40 SQL> COL TABLESPACE_NAME FORMAT A15
SQL> SELECT file_name, tablespace_name, bytes, status FROM DBA_DATA_FILES;
FILE_NAME T ABLESPACE_NAME BYTES STATUS ------------------------------------- --------------- ------------ ------------ C:\ORACLE\ORADATA\ORACLE\SYSTEM01.DBF SYSTEM 248250368 AVAILABLE C:\ORACLE\ORADATA\ORACLE\RBS01.DBF RBS 545259520 AVAILABLE C:\ORACLE\ORADATA\ORACLE\USERS01.DBF USERS 113246208 AVAILABLE C:\ORACLE\ORADATA\ORACLE\TEMP01.DBF TEMP 75497472 AVAILABLE C:\ORACLE\ORADATA\ORACLE\TOOLS01.DBF TOOLS 12582912 AVAILABLE C:\ORACLE\ORADATA\ORACLE\INDX01.DBF INDX 60817408 AVAILABLE C:\ORACLE\ORADATA\ORACLE\DR01.DBF DRSYS 92274688 AVAILABLE
◎ FILE_NAME : DATAFILE의 물리적인 위치와 파일명을 알 수 있습니다. ◎ TABLESPACE_NAME : 테이블 스페이스의 이름을 알 수 있습니다. ◎ BYTES : 테이블 스페이스의 크기를 알수 있습니다. ◎ STATUS : 테이블 스페이스의 이용 가능 여부를 알 수 있습니다.
테이블 스페이스별 사용 가능한 공간의 확인
DBA_FREE_SPACE 데이터 사전
SQL> SELECT tablespace_name, SUM(bytes), MAX(bytes) FROM DBA_FREE_SPACE GROUP BY tablespace_name
◎ SUM을 사용한 이유는하나의 테이블 스페이스에 분산되어 있는 여유공간을 합한 것이며, ◎ MAX를 사용한 이유는 여유 공간중 가장 큰 공간의 SIZE를 의미 합니다.
데이타 화일에 대한 총 크기와 남아있는 공간, 사용한 용량, 남은 %율
DBA_FREE_SPACE, DBA_DATA_FILES 데이터 사전
SQL> COL FILE_NAME FORMAT A40 SQL> COL TABLESPACE_NAME FORMAT A30 SQL> SET LINESIZE 150 SQL> SELECT b.file_name "FILE_NAME", -- DataFile Name b.tablespace_name "TABLESPACE_NAME", -- TableSpace Name b.bytes / 1024 "TOTAL SIZE(KB)", -- 총 Bytes ((b.bytes - sum(nvl(a.bytes,0)))) / 1024 "USED(KB)", -- 사용한 용량 (sum(nvl(a.bytes,0))) / 1024 "FREE SIZE(KB)", -- 남은 용량 (sum(nvl(a.bytes,0)) / (b.bytes)) * 100 "FREE %" -- 남은 % FROM DBA_FREE_SPACE a, DBA_DATA_FILES b WHERE a.file_id(+) = b.file_id GROUP BY b.tablespace_name, b.file_name, b.bytes ORDER BY b.tablespace_name