본문 바로가기

DB/DBA

[Oracle] Segment & Extent


**************************************************************************************
▶ 1. 세크먼트와 엑스텐츠 차이점.
**************************************************************************************

- Oracle Data Block
Oracle 데이터베이스는 가장 작은 단위인 DATA Block에 저장됨.
데이터블럭의 크기는 데이터베이스가 생성될 때 데이터베이스에 대해 각각 지정됨

- Extents(확장영역)
연속적인 몇개의 Data Block으로 한번에 할당되며 특정 유형의 정보저장에 사용

- SEGMENTS
확장영역 위의 논리적 데이터베이스 저장영역


테이블 세그먼트는 하나의 세그먼트 헤더와 하나 이상의 익스텐트들로 구성이 됩니다.
그리고 이 익스텐트들은 하나 또는 이상의 연속적인 블럭으로 구성이 됩니다.
각 세그먼트의 첫번째 블럭은 세그먼트 헤더가 됩니다.
하나의 세그먼트는 최소한 두개의 블록으로 구성이 됩니다

블록사이즈는 데이터 베이스를 생성할때 결정되고 쉽게 바꾸어 질수 없습니다.
대부분 시스템의 Default block size는 2KB입니다.
오라클 8은 2 KB에서 64 KB까지 지원합니다.
항상 블럭의 크기는 O/S의 파일시스템 블럭사이즈의 배수로 선택을 해야합니다.
만약 오라클 블럭이 OS 블럭보다 작게 된다면 나머지의 데이터들은 항상 따로 읽히게 되는 경향이 있기 때문에
읽기 수행 속도에 문제를 일으키고 OS블록의 배수가 되지 않는다면 OS파일시스템의 공간을 낭비하게 됩니다.