posted by 구름너머 2006. 9. 8. 10:54
테이블 스페이스의 정보 확인
OracleClub.com
작 성 일 2002-02-03조 회 수11393
제 목 테이블 스페이스의 정보 확인
내 용
스크랩 프린트
* 내용을 복사하실때는 마우스로 선택 후 Ctrl+C로 복사하세요.


테이블 스페이스의 데이터 파일과 테이블 스페이스의 크기 확인

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


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


◎ 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


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

================================================
* Oracle Community OracleClub.com
* http://www.oracleclub.com
* http://www.oramaster.net
* 운영자 : 김정식 (oramaster _at_ empal.com)
================================================
※ oracleclub 강좌를 다른 홈페이지에 퍼가실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

'ORACLE' 카테고리의 다른 글

오라클 Role 관리  (0) 2006.12.18
테이블의 필드명 변경하기...  (0) 2006.12.15
ORA 1688 에러발생  (0) 2006.09.08
ORA-01502  (1) 2006.09.07
sqlplus 2  (0) 2006.08.30