oracle 创建分区表以及自动添加分区

oracle提供了以下几种分区类型:
范围分区(range)
哈希分区(hash)
列表分区(list)
范围-哈希复合分区(range-hash)
范围-列表复合分区(range-list)

查看分区数  :select*from user_tab_partitions where table_name=’表名’
查看分区内容:select * from 表名 partition(分区名) ;

alter table 表名 add partition 分区名 values (分区字段)
tablespace tbs_zba_czc       –表空间
pctfree 10                      –预留的空间大小,10%
initrans 1                      –的是一个 block 上初始预分配给并行交易控制的空间
maxtrans 255                  –如果initrans 不够了,自动扩展,最大这个值

分区表示例:

一、范围分区(特别要注意的是”范围”中不包含=)

1、单范围

2、多范围分区

3、循环分区

1)建表

2)分区拓展

二、列表分区

1、建表

2、分区拓展

需要注意的问题:
一但列表分区后,如果插入了未分区的字段会报错,为了防止出现这种情况一般我们在添加完分区后
alter table temp_qw add partition part_default values (default);
这样做的后续问题就是,在想添加分区的时候就的把这个分区删除掉
示例:

删除分区:alter table temp_qwe drop partition part09
需要注意的是,在删除分区的时候一定要将分区内数据备份,不然删除分区的时候会将数据删除

三、哈希分区
再碰到未知怎么去分区的时候

四、组合分区
在生产中我们会常常用到这样的分区
示例:

双分区
1、建表

2、分区拓展

 

发表回复