본문 바로가기

Partition

오라클 파티션 Split/Merge/Coalesce 샘플 오라클은 파티션테이블(Partition Table)에 대해 다양한 관리작업을 지원합니다. 이 페이지에서는 파티션을 분할하고, 합치는 작업을 해보겠습니다. 아래와 같은 List 파티션테이블에서 .. create table SALES ( sales_no number, sale_year number, sale_month number, sale_day number, customer_name varchar2(30), birth_date date, price number, state varchar2(2) ) partition by list (state) ( partition P_EAST values ('MA','NY','CT','NH','ME','MD','VA','PA','NJ'), partition P_WEST .. 더보기
오라클 파티션 Add/Drop/Modify/Truncate/Rename 샘플 오라클은 파티션테이블(Partition Table)에 대해 다양한 관리작업을 지원합니다. 이 페이지에서는 파티션을 추가하거나, 삭제하거나, 자르거나, 이름을 변경하는 등의 작업을 해보겠습니다. 아래와 같은 Range 파티션테이블에서 .. create table SALES ( sales_no number, sale_year number, sale_month number, sale_day number, customer_name varchar2(30), birth_date date, price number ) partition by range (sales_no) ( partition SALES_P1 values less than (3), partition SALES_P2 values less than (5) .. 더보기
오라클 Global Partitioned Index (글로벌 파티션 인덱스) 파티션 테이블에 대해 2가지 종류의 파티션 인덱스를 생성할 수 있습니다. - Local Partitioned Index (지역 파티션 인덱스, 로컬 인덱스) - Global Partitioned Index (전역 파티션 인덱스, 글로벌 인덱스) 글로벌 인덱스는 로컬 인덱스와 달리 파티션테이블의 파티션 구성을 따르지 않습니다. 글로벌 인덱스는 아래와 같이 생성할 수 있습니다. -- 1) 파티션 테이블 생성 create table SALES ( sales_no number, sale_year number, sale_month number, sale_day number, customer_name varchar2(30), birth_date date, price number ) partition by range.. 더보기
오라클 Local Partitioned Index (로컬 파티션 인덱스) 파티션 테이블에 대해 2가지 종류의 파티션 인덱스를 생성할 수 있습니다. - Local Partitioned Index (지역 파티션 인덱스, 로컬 인덱스) - Global Partitioned Index (전역 파티션 인덱스, 글로벌 인덱스) 로컬 인덱스는 파티션테이블과 똑같은 구성으로 인덱스를 파티션하는 것을 말합니다. 즉, 인덱스의 파티션을 구분하는 파티션키를 테이블의 파티션키와 같은 것을 사용하는다는 의미입니다. -- 1) 파티션 테이블 생성 create table SALES ( sales_no number, sale_year number, sale_month number, sale_day number, customer_name varchar2(30), birth_date date, price n.. 더보기
오라클 복합파티션(Composite Partition) Range + Range 샘플 (11g ~ ) 오라클은 Range, List, Hash 파티션을 지원하고, 이들간의 다양한 조합을 지원합니다. 이중에서 아래는 Range Partition + Range Sub Partition 샘플입니다. create table SALES ( sales_no number, sale_year number, sale_month number, sale_day number, customer_name varchar2(30), birth_date date, price number, state varchar2(2) ) partition by range (birth_date) subpartition by range (sales_no) subpartition template ( subpartition S1 values less th.. 더보기
오라클 복합파티션(Composite Partition) Range + List 샘플 (9i ~ ) 오라클은 Range, List, Hash 파티션을 지원하고, 이들간의 다양한 조합을 지원합니다. 이중에서 아래는 Range Partition + List Sub Partition 샘플입니다. create table SALES ( sales_no number, sale_year number, sale_month number, sale_day number, customer_name varchar2(30), birth_date date, price number, state varchar2(2) ) partition by range (birth_date) subpartition by list (state) subpartition template ( subpartition S1 values ('MA','NY','.. 더보기
오라클 복합파티션(Composite Partition) Range + Hash 샘플 (8i ~ ) 오라클은 Range, List, Hash 파티션을 지원하고, 이들간의 다양한 조합을 지원합니다. 이중에서 아래는 Range Partition + Hash Sub Partition 샘플입니다. create table SALES ( sales_no number, sale_year number, sale_month number, sale_day number, customer_name varchar2(30), birth_date date, price number, state varchar2(2) ) partition by range (birth_date) subpartition by hash (sales_no) subpartition template ( subpartition S1, subpartition S2.. 더보기
오라클 Hash Partition (해쉬함수에 의한 파티션 테이블) Hash Partition 은 해시함수에 의해 자동으로 파티션 갯수만큼 데이터가 분할되는 파티션 테이블 입니다. 해시 파티션키로 사용할 수 있는 컬럼은 아무 타입이나 가능합니다. 숫자, 문자, 날짜 타입 모두 다 가능합니다. Range 나 List 파티션과 달리 Hash 파티션의 경우에는 내 데이터가 어느 파티션으로 들어갈 지 알 수 없기 때문에, 전혀 관리 목적에는 맞지 않습니다. (특정 파티션에 대해서만 특정 작업을 하는 ... ) Hash 파티션을 사용하는 이유는 데이터를 여러 위치에 분산배치해서 Disk I/O 성능을 개선하기 위함입니다. 스토리지의 특정 위치에 I/O 가 몰리는 현상을 핫블럭(Hot Block) 현상이라고 하는데, 이때 Reverse Index 와 함께 Hash Partition.. 더보기