본문 바로가기

oracle

오라클 복합파티션(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.. 더보기
오라클 List Partition (특정한 값으로 구분되는 파티션 테이블) List 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 list (state) ( partition P_EAST values ('MA','NY','CT','NH','ME','MD','VA','PA','NJ'), partition P_WEST values ('CA','AZ','NM','OR.. 더보기
오라클 Range Partition (범위로 구분되는 파티션 테이블) Range Partition 은 범위로 구분되는 파티션 테이블 입니다. 범위(Range)에는 숫자, 날짜, 문자가 모두 가능합니다. 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 (sales_no) ( partition SALES_P1 values less than (3), partition SALES_P2 values less than (5), partition SALES_P3 values less than .. 더보기
오라클 파티션 종합 페이지 (Oracle Partition Main Page) 이 페이지는 오라클 파티션관련 기능들에 대한 종합 가이드 페이지입니다. 각 항목을 클릭하면 자세한 설명페이지로 이동합니다. ♣ 파티션 테이블 기본 개념 - 오라클 파티션테이블 기본개념 정리 ♣ 파티션 테이블 종류 (Partition Table) - Range Partition (범위로 구분되는 파티션 테이블) - List Partition (연속되지 않은 특정한 값으로 구분되는 파티션 테이블) - Hash Partition (해쉬함수에 의한 파티션 테이블) ♣ 복합 파티션 테이블 종류 (Composite Partition Table) - Range + Hash 샘플 (8i ~ ) - Range + List 샘플 (9i ~ ) - Range + Range 샘플 (11g ~ ) - List + Hash 샘플.. 더보기
(오라클 DB 파라메타) deferred_segment_creation 이 파라메타는 Oracle 11gR2(11.2.0.1) 버전부터 추가된 DB Parameter 입니다. 테이블을 생성(Create) 할 때 바로 만들지 않고, 딕셔너리(메타정보)에만 테이블 생성 정보를 기록하고 실제로는 테이블을 만들지 않는 겁니다. 실제 테이블이 만들어지는 시점은 테이블에 데이터가 들어올 때(Insert) 입니다. 헐, 이런 쓸데 없는 기능을 왜 만들었을까 ... 라고 생각이 갑자기 들 수도 있겠습니다. 저처럼 ^^; 이게 필요한 경우는 테이블이 엄청 많이 만들어지는 상황... 그런 상황에서 작업을 빠르게 하기 위함입니다. 테이블 만들때, 데이터가 없어도 Initial Extent 만큼은 공간을 할당해야 하거든요. 이 작업을 안하는 거죠.. 그러니 빠르긴 하겠죠~ 이렇게 테이블이 엄청 .. 더보기
오라클 DB 권고 파라메타 (Oracle DB Initialization Parameter) 오라클 권고 DB 파라메타(init.ora Parameter)를 찾아헤맨 경험이 있는 일인으로서, 똑같은 행위를 하고 있는 하게 될 분들의 시간을 아껴드리고자 작성해봤습니다. 네이버 검색등에서는 찾기 어렵고, 구글링하면 영어로된 간혹 몇가지가 나오긴 합니다. 하지만, 다들 서두에 똑같은 얘기를 합니다. "Always use proper testing mechanisms." 함부로 적용했다간 좃될수 있으니 충분히 테스트해보고 적용하란 얘기죠 ㅎㅎ 당연한 얘기입니다. 버전마다 시스템구성마다 어떤 파라메타는 값을 다르게 해야하고, 어떤거는 버그가 있어서 쓰면 안되는 등 고려해야 할 요소가 너무 많아서 이거다 싶은 딱 맞는 답을 줄 수 없습니다. 가장 정확한 답은 오라클 ACS엔지니어(유료서비스)의 도움을 받는.. 더보기
오라클 Exadata 버전별 상세항목(CPU, Mem, Storage) 비교 오라클 엑사데이터(Oracle Exadata) 는 일체형 장비(Appliance Machine)라고 합니다. DB서버 + 스토리지서버 + 스위치 + S/W 가 통합되어 구성되어있고, 구매도 따로 따로 구매하는게 아니고 통으로 구매해야 하죠~ 지난번에 정리했던 Exadata 버전별 용량비교에 이어서 이번에는 상세 구성 부품별로 버전 비교를 해보겠습니다. 이 자료는 오라클에서 과거에 받았었던 자료 등을 모아 나름 정리했으나, 제가 잘못 정리했을 수도 있고, 그새 변경되었을수도 있습니다. 참고만 하시고, 정확한 것은 오라클에서 받으시기 바랍니다. [ DB서버 CPU Core수 비교 ] [ DB서버 Memory 비교 ] [ 셀스토리지 서버 CPU Core수 비교 ] [ 셀스토리지 서버 디스크 (( EF모델 )).. 더보기