Oracle Database TIP
테이블 스페이스의 정보 확인 14 0 99,999+

by 구루비 DBA_DATA_FILES DBA_FREE_SPACE DBA_DATA_FILES 테이블스페이스 데이터 파일 [2002.02.03]


데이터파일의 크기 확인

  DBA_DATA_FILES 데이터 사전을 이용하면 된다.

 
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                             TABLESPACE_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
    

테이블스페이스별 사용 가능한 공간의 확인

  DBA_FREE_SPACE 데이터 사전

  SUM을 사용한 이유는하나의 테이블 스페이스에 분산되어 있는 여유공간을 합한 것이며, MAX를 사용한 이유는 여유 공간중 가장 큰 공간의 SIZE를 의미 한다.

 
SQL> SELECT tablespace_name, SUM(bytes), MAX(bytes)
     FROM DBA_FREE_SPACE
     GROUP BY tablespace_name

TABLESPACE_NAME SUM(BYTES)  MAX(BYTES)
--------------- ----------  ----------
DRSYS             88268800    88268800
INDX              60809216    60809216
RBS              524279808   498589696
SYSTEM               65536       65536
TEMP              75489280    74244096
TOOLS             12574720    12574720
USERS            113238016   113238016
    

데이터화일의 총 크기, 남아있는 공간, 사용한 용량, 남은 %율

  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",
             b.tablespace_name "TABLESPACE_NAME",
             b.bytes / 1024 "TOTAL SIZE(KB)",
             ((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
 
 
FILE_NAME                             TABLESPACE_NAME TOTAL SIZE(KB)  USED(KB)  FREE SIZE(KB)    FREE %
------------------------------------  --------------- --------------  --------  ------------  ----------
C:\ORACLE\ORADATA\ORACLE\DR01.DBF     DRSYS                    90112      3912         86200  95.6587358
C:\ORACLE\ORADATA\ORACLE\INDX01.DBF   INDX                     59392         8         59384  99.9865302
C:\ORACLE\ORADATA\ORACLE\RBS01.DBF    RBS                     532480     20488        511992  96.1523438
C:\ORACLE\ORADATA\ORACLE\TEMP01.DBF   TEMP                     73728         8         73720  99.9891493
C:\ORACLE\ORADATA\ORACLE\TOOLS01.DBF  TOOLS                    12288         8         12280  99.9348958
C:\ORACLE\ORADATA\ORACLE\USERS01.DBF  USERS                   110592         8        110584  99.9927662
    

- 강좌 URL : http://www.gurubee.net/lecture/1155

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입