어딜가나 storage할당 단위가 참 힘이 드는게 사실입니다.
우선, 다양한 크기의 할당단위를 쓰는 이유는 속도와 효율성 때문입니다.
block : 실제 data , row가 저장되는 기본적인 단위
extent : block이 여러개 모여서
segment : extent가 여러개 모여서
tablespace : unix의 file system과 같의 의미
크기순으로 나열하면
block < extent < segment < tablespace 이렇습니다.
크기가 일정한 것은 block와 tablespace 입니다.
block 은 오라클 설치할 때 결정, tablespace는 생성할때 크기를 정해줍니다.
실제 사용자가 쓰는 단위는 extent입니다.
create table test_table ( ...)
tablespace test_space storage (initial 2m next 2m pctincrease 0)
위문장에서 데이터가 인서트되면 초기에 2m짜리 extent를
할당 받습니다.
그다음부터 2m를 할당받게 됩니다. (121번, block = 2048 bytes인경우)
segment는 table크기 입니다. 즉 위문장에서 segment이름은
test_table이고 크기는 대부분 계속 늘어나가 됩니다.
segment 중에 특이한 것은 rollback segment인데, 이넘은
매뉴얼을 한 번더 읽어보시는 것이 좋을 듯 합니다.
그리고 아래의 view를 참조하시면 도움이 ..
dba_data_files : data file 정보
dba_tablespaces : tablespace 정보
dba_rollback_segs : rollback segment 정보
dba_users : 오라클 사용자 정보
user_segment : 사용자 segment 정보
>>궁금 님께서 쓰시길<<
:: 안녕하세요.
:: block, extent, segment, tablespace에 대해서 개념을 잡기가 여간 어러운게
:: 아니군요.
:: 이 게시판에서 찾아보고, 여기저기 책을 뒤적여도...
:: 개념이 잡히질 않아요.
:: 그냥 어설프게 아시는 선생님들은..말구요...
:: 제대로 개념을 딱! 잡고 계신 고수님의 답변을 원합니다.
:: 정말로 부탁드리겠습니다.
|