Oracle 테이블 스페이스 이해 (12)


o 테이블 스페이스란
테이블이 저장되는 공간입니다.
오라클 에서는 테이블스페이스라고 해서 테이블이 저장될 공간을 먼저 만들고 나서
테이블을 생성합니다. 각각의 테이블을 테이블스페이스별로 나누어서 관리와 퍼포먼스의
향상을 가지고 오는것입니다.

테이블스페이스를 생성하면 정의된 용량만큼 미리 확보한 테이블스페이스가 생성되어
지고 생성되어진 테이블스페이스에 테이블의 데이타가 저장됩니다.
예를 들면 많은 데이터가 쌓일 게시판 테이블은 기본용량 100메가 자동확장 10메가로
테이블스페이스를 만들어서 그곳에 게시판 테이블을 만들어 쓰면 게시판 데이터는 그곳에
100메가까지 데이터가 저장되고 용량 초과시 자동적으로 10메가단위로 테이블 스페이스의
크기는 확장됩니다.

이렇게 각 테이블의 특성에 맞게 테이블스페이스를 만들어 활당하면 좋습니다. 물론 각
스키마별로 지정된 테이블스페이스를 만들어 써야 관리적측면에서 무척이나 효율적입니다.



-Temporary Segment
 오라클에서 sort opperation이 발생했을때 임시로 저장할 공간이다.
-Application Data
-Index Segment
쿼리 속도 향상을 위한 인덱스를 별도로 담고 있는 테이블 스페이스
-User Data Segment
-Rollback Segment


- Extent: segment의 공간이 부족할 때 여기에 저장 된다.
할당 단위는 Extent고 I/O 단위는 DB BLOCK 이다.

- A -> B
Rollback 




o DB는 미리 할당된 사용량을 쓰게 된다.

실질적으로 10m 남았는데 5m 세그먼트 생성할려고 할 때 안될 수도 있다.
그 이유는 데이터 블럭이 흩어져 있기 때문에. DB모음을 조각모음 하듯이
연결된 프리블럭 만들어놓고 할당 시킬 수 있다.
테이블 스페이스가 드랍 되었을지언정 os에서 명시적으로 삭제 해줘야 한다.




foreign 키로 테이블이 연결 되었을 지라도
CASCADE constraints로 삭제 가능 하다.



다른 글도 참조 :

http://kaludin.egloos.com/v/2919398



0 comments:

Post a Comment