- 테이블스페이스의 단편화 현상 점검(참고자료 참조)
- mercury1
QL:M1/SYS>select tablespace_name, total_extents, percent_extents_coalesced
2 from dba_free_space_coalesced
3 where percent_extents_coalesced <> 100;
TABLESPACE_NAME TOTAL_EXTENTS PERCENT_EXTENTS_COALESCED
------------------------------ ------------- -------------------------
TOOLS 145 28.9655172
MOBILE_DAT 173 99.4219653
- frontier
QL:M1/SYS>select tablespace_name, total_extents, percent_extents_coalesced
2 from dba_free_space_coalesced
3 where percent_extents_coalesced <> 100;
TABLESPACE_NAME TOTAL_EXTENTS PERCENT_EXTENTS_COALESCED
------------------------------ ------------- -------------------------
MMS_IDX 10 90
- mercury2
SQL:M2/SYS> select tablespace_name, total_extents, percent_extents_coalesced
2 from dba_free_space_coalesced
3 where percent_extents_coalesced <> 100;
TABLESPACE_NAME TOTAL_EXTENTS PERCENT_EXTENTS_COALESCED
------------------------------ ------------- -------------------------
TOOLS 24 41.6666667
TEMP 15523 10.0560459
USERS 1983 1.26071609
- 참고내용
SQL> select tablespace_name, total_extents, percent_extents_coalesced
from dba_free_space_coalesced
where percent_extents_coalesced <> 100;
tablespace_name total_extents percent_ex
undo 3 33
sample 9 22
* undo 테이브스페이스는 33%, sample 테이블스페이스는 22% 단편화 현상 발생
해결 방법
SQL> alter tablespace sample coalesce;
* PERCENT_EX 컬럼의 값이 100%가 될때가지 "alter tablespace ~ coalesce" 문자을 실행
1. SMON 프로세스가 기본적으로 테이블스페이스의 빈공간을 합병 시켜줌
- PCTINCREASE가 0보다 큰 테이블스페이스에 대해서만 합병을 자동으로 수행
- 그렇지 못한 테이블스페이스는 관리자가 직접 합병 수행
2. 테이블 생성할때 미리 충분한 저장 공간을 할당하는 방법
- INITIAL, NEXT, MINEXTENTS, MAXEXTENTS, PCTINCREASE 값을 충분히 예상후 할당
- 충분한 공간을 할당 받게 되면 데이터가 나누어져 저장되지 않을 뿐더러 삭제한 후
충분한 빈 공간이 생기기 때문
3. 불필요하게 테이블에 할당되어 있는 저정 공간들을 디스크로 반환하는 방법
- SQL> alter table big_emp deallocate unused;
[출처] 테이블스페이스의 단편화 현상 점검|작성자 한여름
'ORACLE' 카테고리의 다른 글
[ORACLE] 테이블스페이스 용량산정 쿼리 (0) | 2010.06.04 |
---|---|
[oracle] 모니터링 sql (0) | 2010.05.10 |
[ORACLE] 점검 목록 (0) | 2010.04.14 |
[ORACLE] 시작과 종료 (0) | 2010.04.14 |
[ORACLE] 오라클 포렌직에 필요한 것들 (0) | 2010.04.13 |