资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

oracle怎么拆分分区,oracle拆分分区split

Oracle 列表分区怎样进行拆分分区

这个问题很奇怪。 列表分区还要接着拆?还是不懂语法?

专注于为中小企业提供成都网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业铁山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

列表分区是根据某列的具体值进行分区,如果还要拆,建议用范围-列表分区

ORACLE表分区

一.表分区策略

1.识别大表

采用ANALYZE TABLE语句进行分析,然后查询数据字典获得相应的数据量。

2.大表如何分区

可根据月份,季度以及年份等进行分区;

3.分区的表空间规划

要对每个表空间的大小进行估计

二.创建表分区

a.创建范围分区的关键字是'RANGE'

1.范围分区

create table ware_retail_part --创建一个描述商品零售的数据表

(

id integer primary key,--销售编号

retail_date date,--销售日期

ware_name varchar2(50)--商品名称

)

partition by range(retail_date)

(

--2011年第一个季度为part_01分区

partition par_01 values less than(to_date('2011-04-01','yyyy-mm-dd')) tablespace TEMP01,

--2011年第二个季度为part_02分区

partition par_02 values less than(to_date('2011-07-01','yyyy-mm-dd')) tablespace TEMP01,

--2011年第三个季度为part_03分区

partition par_03 values less than(to_date('2011-10-01','yyyy-mm-dd')) tablespace TEMP01,

--2011年第四个季度为part_04分区

partition par_04 values less than(to_date('2012-01-01','yyyy-mm-dd')) tablespace TEMP01

);

2.创建散列分区

3.组合分区:

4.interval 分区

三.创建索引分区

索引分区分为本地索引分区和全局索引分区,全局索引不反应基础表的结构,要分区只能进行范围分区。

创建索引分区要参照表分区

四.分区技术简介

优点:

1.减少维护工作量

2.增强数据的可用性

3.均衡I/O,提升性能

4.提高查询速度

5.分区对用户保持透明,用户感觉不到分区的存在。

五,管理表分区

1.添加表分区

ALTER TABLE...ALTER PARATITION

2.合并表分区

3.删除分区

ALTER TABLE...DROP PARTITION

删除分区时,里面的数据也会被删除。

-创建表和分区

create table sales--创建一个销售记录表

(

id number primary key,--记录编号

goodsname varchar2(10),--商品名

saledate date--销售日期

)

partition by range(saledate)--按照日期分区

(

--第一季度数据

partition part_sea1 values less than(to_date('2011-04-01','yyyy-mm-dd')) tablespace tbsp_1,

--第二季度数据

partition part_sea2 values less than(to_date('2011-07-01','yyyy-mm-dd')) tablespace tbsp_2,

--第三季度数据

partition part_sea3 values less than(to_date('2011-10-01','yyyy-mm-dd')) tablespace tbsp_1,

--第四季度数据

partition part_sea4 values less than(to_date('2012-01-01','yyyy-mm-dd')) tablespace tbsp_2

);

--创建局部索引

create index index_3_4 on sales(saledate)

local(

partition part_seal tablespace tbsp_1,

partition part_sea2 tablespace tbsp_2,

partition part_sea3 tablespace tbsp_1,

partition part_sea4 tablespace tbsp_2

);

--并入分区

alter table sales merge partitions part_sea3,part_sea4 into partition part_sea4;

--重建局部索引

alter table sales modify partition part_sea4 rebuild unusable local indexes;

六.管理索引分区

删除索引:DROP PARTITION

重建分区:REBUILT PARTITION

更名索引分区:RENAME PARTITION

分割索引分区:SPLIT PARTITION

oracle分裂分区怎么使,具体的语句是什么意思?

将一个分区拆成两个:

ALTER TABLE tab_2

SPLIT PARTITION pm AT (to_date('20120310','yyyymmdd'))

INTO (PARTITION p2,

PARTITION pm)

oracle11g自动分区

在Oracle10g中,没有定义间隔分区,只能通过范围分区实现间隔分区功能,如果要实现自动创建分区,只能通过创建JOB或者scheduler来实现;而在11g中,Oracle直接提供了间隔分区功能,大大简化了间隔分区的实现。

----注:oracle11g虽然可以自动分区,但是分区的名字不能自定义,对于需要定时删除分区时没法处理,不如通过时间范围来手工分区。详见

create table HIP_LOG_NODE_Part

(

ID                   VARCHAR2(32)         not null,

RECORD_TIME          DATE

)tablespace TB_HIP_LOG_NODE

PARTITION BY RANGE (RECORD_TIME) interval (numtoyminterval(1, 'month'))

STORE IN (TB_HIP_LOG_NODE)

(

partition hip_log_node_partition values less than (to_date('2019-08-01 00:00','yyyy-MM-dd HH24:mi')) tablespace TB_HIP_LOG_NODE

);

1、Oracle11g有间隔分区功能,对于使用Range分区的可以按年,月,日来自动生成分区。

2、2019-08-01前的数据(包含8月份的数据)会放入hip_log_node_partition 分区,8月1日后的数据每月只要有数据,就会自动创建一个分区。也就是从9月开始,开始新建分区。

3、interval函数--将数值按标准换算为日期

numtodsinterval、numtodsinterval函数,将数字转成年月,时分秒

详见:

4、查看表分区 select table_name,partition_name from user_tab_partitions where table_name='INTERVAL_SALES';

5、插入数据再次查看分区,详见:

6、修改分区、合并分区、拆分分区,详见 :

7、创建索引(分区索引、全局索引) :

非分区字段创建主键,则创建主键local索引时必须加上分区字段

ALTER TABLE TEST ADD CONSTRAINT PK_TEST PRIMARY KEY (主键字段,分区字段) USING INDEX LOCAL;

8、oracle 10g创建表分区

9、删除

1.不保留,直接删除:

alter table table_name drop/truncate partition partition_name;

具体用drop还是truncate,得你自己衡量,drop的话原来的分区和数据直接就没有了,truncate的话,只是数据没有了,分区还在。


当前题目:oracle怎么拆分分区,oracle拆分分区split
本文链接:http://www.cdkjz.cn/article/dsihohj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220