レンジパーティション
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が任意に作成する。
|