ORACLE パーティション


レンジパーティション
CREATE TABLE range_table
(id   NUMBER(5),
 name VARCHAR2(30),
 amount  NUMBER(10),
 datedata    DATE
)PARTITION BY RANGE(datedata)
 (PARTITION p2006q1 VALUES LESS THAN(TO_DATE('2006-04-01',
    'YYYY-MM-DD')) tablespace 表領域名,
  PARTITION p2006q2 VALUES LESS THAN(TO_DATE('2006-07-01',
    'YYYY-MM-DD')),
  PARTITION p2006q3 VALUES LESS THAN(TO_DATE('2006-10-01',
    'YYYY-MM-DD')),
  PARTITION p2006q4 VALUES LESS THAN(TO_DATE('2007-01-01',
    'YYYY-MM-DD')));

レンジパーティションの追加
ALTER TABLE パーティション化されたテーブル
ADD PARTITION パーティション名 VALUES LESS THAN(TO_DATE('2005/12/01','YYYY/MM/DD'));

レンジパーティションの分割
ALTER TABLE パーティション化されたテーブル
SPLIT PARTITION パーティション名
AT(TO_DATE('2005/01/01','YYYY/MM/DD'))
INTO(PARTITION パーティション名1 TABLESPACE hoge,
     PARTITION パーティション名2 TABLESPACE hage);

レンジパーティションの統合(結合)
ALTER TABLE パーティション化されたテーブル
MERGE PARTITIONS パーティション名1,パーティション名2
INTO PARTITION パーティション名1


リストパーティション
CREATE TABLE list_table
(id NUMBER(5),
 name VARCHAR2(30),
 state VARCHAR2(20),
 amount NUMBER(10),
 datedata DATE
)PARTITION BY LIST(state)
 (PARTITION sales_kanto VALUES('Kanagawa','Tokyo'),
  PARTITION sales_kansai VALUES('Osaka','Kobe'),
  PARTITION sales_kyusyu VALUES('Fukuoka','Nagasaki'),
  PARTITION sales_tohoku VALUES('Miyagi','Aomori')); 


ハッシュパーティション
CREATE TABLE hash_table 
(id   NUMBER(5),
 name VARCHAR2(30),
 amount  NUMBER(10),
 week_no       NUMBER(2)
)PARTITION BY HASH(id)
 PARTITIONS 4;


コンポジットパーティション
CREATE TABLE composite_table
(id   number(5),
 name varchar2(30),
 amount  number(10),
 sales_date    date
)PARTITION BY RANGE(sales_date)
 SUBPARTITION BY HASH(id)
 SUBPARTITIONS 4
 (PARTITION p2006q1 VALUES LESS THAN(TO_DATE('2006-04-01',
    'YYYY-MM-DD')),
  PARTITION p2006q2 VALUES LESS THAN(TO_DATE('2006-07-01',
    'YYYY-MM-DD')),
  PARTITION p2006q3 VALUES LESS THAN(TO_DATE('2006-10-01',
    'YYYY-MM-DD')),
  PARTITION p2006q4 VALUES LESS THAN(TO_DATE('2007-01-01',
    'YYYY-MM-DD')));

エクスポート
exp user/passwd tables=スキーマ.tablename:パーティション名
exp user/passwd tables=tablename:パーティション名 FILE=expdat.dmp

ローカルパーティション索引
   パーティションが作成された時に作成
グローバル・パーティション索引
    DBAが任意に作成する。

[一つ前に戻る] TOP PAGE
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送