分割槽表學習之二

wei-xh發表於2010-05-13

-----------建立HASH分割槽表
create table t_partition_hash (
  BAZ001 NUMBER(16),
  BAZ002 NUMBER(16),
  AAB001 NUMBER(16) not null,
  AAC001 NUMBER(16) not null,
  AAE140 VARCHAR2(3) not null,
  AAC030 DATE not NULL,
  AAC008 VARCHAR2(3) not null,
  AAC049 DATE,
  AAE200 NUMBER(3),
  AAB034 VARCHAR2(16) not null,
  AAA027 VARCHAR2(6),
  BAZ003 NUMBER(16),
  BAZ004 VARCHAR2(1))
PARTITION by hash(aac001)(
partition t_hash_p1 TABLESPACE test,
partition t_hash_p2 tablespace test,
partition t_hash_p3 tablespace test);
----------------另一種建立方法,分割槽名會使用系統預設的。
create table t_partition_hash2 (
  BAZ001 NUMBER(16),
  BAZ002 NUMBER(16),
  AAB001 NUMBER(16) not null,
  AAC001 NUMBER(16) not null,
  AAE140 VARCHAR2(3) not null,
  AAC030 DATE not NULL,
  AAC008 VARCHAR2(3) not null,
  AAC049 DATE,
  AAE200 NUMBER(3),
  AAB034 VARCHAR2(16) not null,
  AAA027 VARCHAR2(6),
  BAZ003 NUMBER(16),
  BAZ004 VARCHAR2(1))
partition by hash(aac001)
partitions 3;

-------------插入資料
INSERT /*+ append */ INTO t_partition_hash SELECT * FROM ac02;
COMMIT;
-------------建造本地索引
CREATE INDEX idx_partition_hash ON t_partition_hash(aac001) LOCAL;
-------------查詢分割槽表,索引資訊
SELECT * FROM user_part_tables;
SELECT * FROM user_tab_partitions;
SELECT * FROM user_part_indexes;
SELECT * FROM user_ind_partitions;
-------------增加分割槽
alter table t_partition_hash add partition t_hash_p4 ;
------------收縮表分割槽
alter table t_partition_hash COALESCE PARTITION;
------------收縮表分割槽,會導致索引失效,除非帶有update indexes子句
ALTER INDEX IDX_PARTITION_HASH REBUILD PARTITION T_HASH_P2;
------------不可以刪除HASH分割槽,如下操作會報錯。
ALTER TABLE t_partition_hash DROP PARTITION t_hash_p4;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-662598/,如需轉載,請註明出處,否則將追究法律責任。

相關文章