网站首页 > 文章中心 > 其它

oracle如何按日分区

作者:小编 更新时间:2023-09-30 18:16:48 浏览量:200人看过

oracle11g自动分区

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

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

create table HIP_LOG_NODE_Part

(

RECORD_TIME?? DATE

)tablespace TB_HIP_LOG_NODE

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

STORE IN (TB_HIP_LOG_NODE)

);

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

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

详见:

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

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

①不保留,直接删除:

alter table table_name drop/truncate partition partition_name;

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

oracle表无日期字段怎么自动分区

没有日期字段就用其他的分区方式.

我们用日期分区主要是把每月的数据放在一个分区,那么如果没有分区字段,那么我们就需要用其他的字段分区了,比如hash分区(这个是自动分区,直接将table分成若干个区域,数据会根据字段hash值自动分配到某个区域),列表分区(根据表中的某个字段去进行分区,比如某城有四个区域,那么正好用这四个值去分区就可以了).

如果有其他的数字字段,那么看看这些数字字段能不能用,如果能用也可以用范围分区,不一定非要是日期字段的.

oracle建表按日分区,如何truncate当前日期15天前的记录分区

--建表

create table t_temp_01 (

t_num number(10)

)

partition by list (t_date)

--插入数据

commit;

--查询数据

select * from t_temp_01 ;

declare

begin

dbms_output.put_line(v_sql);

execute immediate v_sql ;

end ;

以上就是土嘎嘎小编为大家整理的oracle如何按日分区相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章