"오라클 세그먼트"의 두 판 사이의 차이
DB CAFE
(→세그먼트 서브 타입 ASSM(Default)) |
(→세그먼트) |
||
(같은 사용자의 중간 판 하나는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
== 세그먼트 == | == 세그먼트 == | ||
+ | https://docs.oracle.com/cd/B10500_01/server.920/a96524/cncpt027.gif | ||
+ | |||
+ | === 개요 === | ||
+ | # 세그먼트 종류 : 테이블세그먼트, 인덱스 세그먼트, 언두 세그먼트, 롤백 세그먼트, 템포러리 세그먼트 등 | ||
+ | # 사용자가 하나의 테이블을 생성하는 것은 하나의 테이블 세그먼트를 만드는 것과 동일함. 테이블이나 인덱스는 세그먼트의 한 종류 | ||
+ | # 세그먼트는 하나 이상의 익스텐트로(Extent)로 구성되며 하나의 Extent는 연속적으로 할당된 공간을 의미 | ||
+ | # 모든 Segment 는 적어도 하나의 Extent를 가지며 Rollback Segment의 경우엔 최소 2개의Extent를 요구함. | ||
+ | |||
=== 세그먼트 서브 타입 MSSM === | === 세그먼트 서브 타입 MSSM === | ||
Manual Segment Space Management으로 수동으로 세그먼트를 관리한다. | Manual Segment Space Management으로 수동으로 세그먼트를 관리한다. |
2024년 5월 9일 (목) 13:43 기준 최신판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 세그먼트[편집]
1.1 개요[편집]
- 세그먼트 종류 : 테이블세그먼트, 인덱스 세그먼트, 언두 세그먼트, 롤백 세그먼트, 템포러리 세그먼트 등
- 사용자가 하나의 테이블을 생성하는 것은 하나의 테이블 세그먼트를 만드는 것과 동일함. 테이블이나 인덱스는 세그먼트의 한 종류
- 세그먼트는 하나 이상의 익스텐트로(Extent)로 구성되며 하나의 Extent는 연속적으로 할당된 공간을 의미
- 모든 Segment 는 적어도 하나의 Extent를 가지며 Rollback Segment의 경우엔 최소 2개의Extent를 요구함.
1.2 세그먼트 서브 타입 MSSM[편집]
Manual Segment Space Management으로 수동으로 세그먼트를 관리한다.
CREATE TABLESPACE 이름
DATAFILE '파일명' SIZE 1G
SEGMENT SPACE MANAGEMENT MANUAL;
1.3 세그먼트 서브 타입 ASSM(Default)[편집]
Automatic Segment Space Management으로 자동으로 세그먼트를 관리한다. 옛날에는 MSSM을 사용하였지만 요즘엔 ASSM으로 많이 사용한다.
CREATE TABLESPACE 이름
DATAFILE '파일명' SIZE 1G
SEGMENT SPACE MANAGEMENT AUTO;
1.4 세그먼트 조회[편집]
select decode( segment_type, 'TABLE',segment_name, table_name ) order_col1,
decode( segment_type, 'TABLE', 1, 2 ) order_col2,
'alter ' || segment_type || ' ' || segment_name ||
decode( segment_type, 'TABLE', ' move ', ' rebuild ' ) ||
chr(10) ||
' HONEY_DATASPACE ' || chr(10) ||
' storage ( initial ' || initial_extent || ' next ' ||
next_extent || chr(10) ||
' minextents ' || min_extents || ' maxextents ' ||
max_extents || chr(10) ||
' pctincrease ' || pct_increase || ' freelists ' ||
freelists || ');'
from user_segments,
(select table_name, index_name from user_indexes )
where segment_type in ( 'TABLE', 'INDEX' )
and segment_name = index_name (+)
order by 1, 2