分区表学习笔记(二)--分区管理
分区表学习笔记(二)--分区管理主要内容:1、添加新的分区2、split 分区拆分3、合并分区Merge4、移动分区5、Truncate分区6、drop 分区----------------------------------------------------------1、添加新的分区添加新的分区有2中情况:(1)原分区里边界是maxvalue或者default。这种情况下,我们需要把边界分区drop掉,加上新分区后,在添加上新的分区。或者采用split,对边界分区进行拆分。(2)没有边界分区的。这种情况下,直接添加分区就可以了。以边界分区添加新分区示例:(1)分区表和索引的信息如下:SQL> create table custaddr(id varchar2(15 byte) not null,areacode varchar2(4 byte))partition by list (areacode)(partition t_list556 values ('556') tablespace data01,partition p_other values (default)tablespace data01);表已创建。SQL> create index ix_custaddr_id on custaddr(id)local (partition t_list556 tablespace data01,partition p_other tablespace data01);索引已创建。(2)插入几条测试数据:SQL> insert into custaddr values('1','556');已创建 1 行。SQL> insert into custaddr values('2','551');已创建 1 行。SQL> insert into custaddr values('3','555');已创建 1 行。SQL> commit;提交完成。SQL> select * from custaddr;ID AREA--------------- ----1 5562 5513 555SQL> select * from custaddr partition(t_list556);ID AREA--------------- ----1 556SQL>(3)删除default分区sql> alter table custaddr drop partition p_other;表已更改。sql> select table_name,partition_name from user_tab_partitions where table_name='CUSTADDR';table_name partition_name------------------------------ ------------------------------custaddr t_list556(4)添加新分区SQL> alter table custaddr add partition t_list551 values('551') tablespace data01;表已更改。SQL> select table_name,partition_name from user_tab_partitions wheretable_name='CUSTADDR';TABLE_NAME PARTITION_NAME------------------------------ ------------------------------CUSTADDR T_LIST556CUSTADDR T_LIST551(5)添加default 分区SQL> alter table custaddr add partition p_other values (default) tablespace data01;表已更改。SQL> select table_name,partition_name from user_tab_partitions wheretable_name='CUSTADDR';TABLE_NAME PARTITION_NAME------------------------------ ------------------------------CUSTADDR T_LIST556CUSTADDR T_LIST551CUSTADDR P_OTHER(6)对于局部索引,oracle会自动增加一个局部分区索引。验证一下:sql> select owner,index_name,table_name,partitioning_type from dba_part_indexeswhere index_name='ix_custaddr_id';owner index_name table_name---------------------- ------------------------------ ------------------icd ix_custaddr_id custaddrsql> select index_owner,index_name,partition_name from dba_ind_partitions whereindex_name='ix_custaddr_id';index_owner &nb上一个:oracle查看本机服务名
下一个:分区表学习笔记(一)