分割槽表學習之一

wei-xh發表於2010-05-13

------------建立RANGE分割槽表。
create table t_partition_range (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 range(aac030)
(partition p1 values less than(TO_DATE('2000-1-1', 'YYYY-MM-DD')),
PARTITION P2 VALUES LESS THAN (TO_DATE('2002-1-1', 'YYYY-MM-DD')),
PARTITION P3 VALUES LESS THAN (TO_DATE('2005-1-1', 'YYYY-MM-DD')),
PARTITION P4 VALUES LESS THAN (MAXVALUE));
-------------插入資料
insert /*+ append */into t_partition_range select * from ac02 WHERE ROWNUM<10000;
COMMIT;
------------查詢資料
SELECT * FROM t_partition_range PARTITION(p5);
-------------建立索引
CREATE INDEX ind_partition_range_1 ON t_partition_range(aac001);--普通索引
-----------查詢分割槽資訊
SELECT * FROM User_Part_Tables;
SELECT * FROM User_Tab_Partitions;
SELECT * FROM User_Part_Indexes;
SELECT * FROM User_Ind_Partitions;
SELECT * FROM User_Indexes;
-------------刪除分割槽
ALTER TABLE t_partition_range DROP PARTITION p4;
------------重新編譯索引
ALTER INDEX idx_parti_range_id REBUILD  ;
------------帶子句update indexes刪除分割槽
ALTER TABLE t_partition_range DROP PARTITION p4 UPDATE INDEXES;
------------分裂分割槽,每次只能分裂兩分割槽
alter table t_partition_range split partition p5 at (TO_DATE('2003-1-1', 'YYYY-MM-DD')) into
(partition p6 ,PARTITION p5 ) UPDATE INDEXES;
------------合併分割槽,合併的兩分割槽順序必須是小的值在前面。
alter table t_partition_range merge PARTITIONS p6,p5 into partition p7;
------------增加分割槽,所要增加的分割槽值必須要大於當前分割槽中的最大值
alter table t_partition_range add partition p4 values less than(TO_DATE('2006-1-1', 'YYYY-MM-DD')) UPDATE INDEXES ;
------------建立本地索引
CREATE INDEX ind_partition_range_2 ON t_partition_range(aac001) LOCAL;
------------建立全域性分割槽索引
create index idx_parti_range_id on t_partition_range(aac001)
GLOBAL partition by HASH(AAC001)(
PARTITION i_range_p1 ,
PARTITION i_range_p2 ,
PARTITION i_range_P3 );
------------刪除全域性分割槽索引
ALTER INDEX idx_parti_range_id DROP PARTITION i_range_p2;
-----------重新編譯索引
ALTER INDEX idx_parti_range_id REBUILD  PARTITION i_range_p3 ;

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

相關文章