# ASSM(Automatic Segment Space Management)

# 오라클 이전 버전까지는 데이터베이스 관리자가 모든 논리적 저장구조(INITIAL, NEXT, MINEXTENTS, MAXEXTENTS, PCTINCREASE, PCTFREE, PCTUSED, FREELIST, FREELIST GROUP)에 대한 공간관리를 직접 분석,
설계하여 값을 정의하였습니다.
하지만, 오라클 9i 버전부터는 이러한 파라메터 값을 사용자가 직접 정의한다는 것이 쉽지 않기 때문에 오라클 서버가 자동으로 관리할 수 있도록 기능이 추가되었습니다.
이러한 기능은 기본적으로 로컬매니저 테이블스페이스를 통해 구현 가능하며 모든 세그멘트들에 대한 공간관리를 오라클 서버가 수행해 줍니다.

CREATE TABLESPACE [테이블스페이스 명]
DATAFILE '[데이터 파일이 생성될 경로와 파일명]' SIZE [크기]
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE [크기]
SEGMENT SPACE MANAGEMENT AUTO 
;


이 문법은 로컬매니저 관리 테이블스페이스를 생성하는 문법입니다.
마지막 줄에 [SEGMENT SPACE MANAGEMENT AUTO] 절이 세그멘트의 공간관리를 오라클 서버가 자도으로 해주는 옵션 절입니다.
세그멘트의 공간을 자동으로 관리하게 되면 생성 시 PCTUSED, FREELIST, FREELIST GROUP 절은 사용할 수 없습니다.
만약, 테이블스페이스를 생성할 때 이 절이 없으면 이전과 같은 방법으로 빈 공간을 수동 관리하게 됩니다.
다음은 오라클 서버가 빈 공간관리를 어떻게 하는지 자세히 알아봅시다.

1) 먼저, 로컬매니저 관리 테이블스페이스가 세그멘트 자동관리 옵션 절에 의해 생성되어 있습니다.
사용자는 PCTFREE=10 인 EMP 테이블을 생성하였고 해당 블록에는 10%의 공간이 미래에 어떤 행이 변경될 때를 위해 빈 공간으로 설정됩니다.

2) 하나의 블록을 전체 4등분했을 때 현재 데이터가 25~50% 사이만큼 입력되어 있습니다. (이런 상태를 데이터 블록이 FS3 상태라고 합니다.)

3) 새로운 행들이 추가적으로 입력되고 때론 변경되어 해당 블록은 PCTFREE(10%) 공간 만을 남겨 놓은 채 빈 공간이 모두 사용(90%)되었습니다.

4) 다시, 삭제작업으로 인해 블록에서 행들이 삭제되었고 블록은 75% 이상 사용되고 있으며 빈 공간은 75% 이하로 떨어지지 않고 있습니다.
이 블록은 전체 공간을 4등분했을 때 아직 최소공간의(1/4) 빈 공간도 확보하지 못했기 때문에 새로운 입력 작업 시 데이터를 입력하지 못할 것입니다.

5) 이 블록에 새로운 삭제작업이 진행되었고 빈 공간이 75% 이하로 떨어졌기 때문에 새로운 입력 작업 시 데이터를 빈 공간에 다시 입력하게 될 것입니다.

이전 버전에서 사용자가 직접 PCTFREE, PCTUSED, FREELIST 절을 통해 블록의 공간사용을 조절하였던 방법과는 달리 오라클 9i에서는 ASSM 기능을 활성화하게 되면 PCTFREE를 제외한 모든 옵션 절을 사용자가 직접 정의할 수 없으며 모든 세그멘트에 대한 공간 관리는 서버가 자동으로 수행해 줍니다.


09 18, 2011 17:25 09 18, 2011 17:25

Trackback URL : http://develop.sunshiny.co.kr/trackback/663

Leave a comment

« Previous : 1 : ... 24 : 25 : 26 : 27 : 28 : 29 : 30 : 31 : 32 : ... 381 : Next »

Recent Posts

  1. Oracle - 바인드 변수에 대하여(테스트)
  2. Oracle - 디폴트 롤, DBA, CONNECT,...
  3. Oracle - 권한 및 롤 관리
  4. Oracle - SQL*PLUS의 SYSDBA 접근 제어
  5. Oracle - PFILE, SPFILE 에 관하여

Recent Comments

  1. 네 답글 고맙습니다. 좋은 한주 보... sunshiny 05 14,
  2. 좋은 정보 잘 살펴보고 갑니다. ememoho 05 12,
  3. 네. 고맙습니다^^ 행복한 한해 보... sunshiny 01 16,
  4. sunshiny님. 안녕하세요... 올려 주... yihans 01 16,
  5. 답글 주셔서 고맙습니다^^ 소스 복... sunshiny 01 11,

Recent Trackbacks

  1. 윈도우 cmd 명령어 팁 월풍도원(月風道院) - Delight on th... %M
  2. 파일 압축 Like RadioHead %M
  3. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   05 2012   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. Oracle All Documentation
  4. 엑셈
  5. 오라클 클럽
  6. 네이버개발자센터
  7. API - Java
  8. API - Spring
  9. Java Community
  10. Reference - Spring
  11. 스프링사용자
  12. 자바소스
  13. 자바지기
  14. Ready System
  15. Solaris Freeware
  16. Linux-Site
  17. RedHat Korea
  18. 윈디하나의 솔라나라

Site Stats

TOTAL 245437 HIT
TODAY 143 HIT
YESTERDAY 139 HIT