oracle自动建立分区interval,使用Oracle 11g创建Interval分区表(转)
使用Oracle Database 11g可以创建新类型的Interval分区表,Interval类型分区表,可以根据加载数据,自动创建指定间隔的分区。
比如创建按月分区的分区表:Create table intervalpart
(c1 number, c2 varchar2(10) , c3 date)
partition by range (c3)
interval(numtoyminterval(1,'MONTH'))
(
partition part1 values less than (to_date('09/15/2007','MM/DD/YYYY')),
partition part2 values less than (to_date('10/15/2007','MM/DD/YYYY')),
partition part3 values less than (to_date('11/15/2007','MM/DD/YYYY'))
)
/
注意如果你的INTERVAL指定错误,则数据库会报出如下错误:ORA-14752: Interval expression is not a constant of the correct type
下面创建一个以天为间隔的分区表:SQL> create table sales
2 (
3 sales_id number,
4 sales_dt date
5 )
6 partition by range (sales_dt)
7 INTERVAL (NUMTODSINTERVAL(1,'day'))
8 (
9 partition p090101 values less than (to_date('2009-01-01','yyyy-mm-dd'))
10 );
Table created.
SQL> select table_name,partition_name from user_tab_partitions;
TABLE_NAME PARTITION_NAME
------------------------------ ------------------------------
SALES P090101
SYS_FBA_HIST_16585 HIGH_PART
插入测试数据:SQL> begin
2 for i in 1 .. 35 loop
3 insert into sales values(i,trunc(sysdate,'YYYY')+i);
4 end loop;
5 commit;
6 end;
7 /
PL/SQL procedure successfully completed.
观察自动创建的分区:SQL> select table_name,partition_name from user_tab_partitions;
TABLE_NAME PARTITION_NAME
------------------------------ ------------------------------
SALES SYS_P47
SALES SYS_P48
SALES SYS_P49
SALES SYS_P50
SALES SYS_P51
SALES SYS_P52
SALES SYS_P53
SALES SYS_P54
SALES SYS_P55
SALES P090101
SALES SYS_P21
TABLE_NAME PARTITION_NAME
------------------------------ ------------------------------
SALES SYS_P22
SALES SYS_P23
SALES SYS_P24
SALES SYS_P25
SALES SYS_P26
SALES SYS_P27
SALES SYS_P28
SALES SYS_P29
SALES SYS_P30
SALES SYS_P31
SALES SYS_P32
TABLE_NAME PARTITION_NAME
------------------------------ ------------------------------
SALES SYS_P33
SALES SYS_P34
SALES SYS_P35
SALES SYS_P36
SALES SYS_P37
SALES SYS_P38
SALES SYS_P39
SALES SYS_P40
SALES SYS_P41
SALES SYS_P42
SALES SYS_P43
TABLE_NAME PARTITION_NAME
------------------------------ ------------------------------
SALES SYS_P44
SALES SYS_P45
SALES SYS_P46
SYS_FBA_HIST_16585 HIGH_PART
37 rows selected.
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
SQL> select * from sales partition (sys_p44) ;
SALES_ID SALES_DT
---------- -------------------
24 2009-01-25 00:00:00
SQL> select * from sales partition (sys_p33);
SALES_ID SALES_DT
---------- -------------------
13 2009-01-14 00:00:00
SQL> select * from sales partition (sys_p46);
SALES_ID SALES_DT
---------- -------------------
26 2009-01-27 00:00:00
这一特性极大简化了分区表的维护工作。
oracle自动建立分区interval,使用Oracle 11g创建Interval分区表(转)相关推荐
- oracle变更为大表分区表,叶摇 » Blog Archive » oracle把没有分区的普通大表改成分区表...
oracle把没有分区的普通大表改成分区表 1.根据要改成分区的表的结构创建一张一样结构的表: create table PARA_CELL_W_HIS_EXCHANGE ( START_TIME D ...
- Oracle 11g创建Interval分区表
1. interval使用之后,就不用手工增加分区,来适应数据的增长. 2. 根据年月 INTERVAL(NUMTO YM INTERVAL(1,'YEAR')) ...
- oracle三种分区的方式,Oracle 分区表 总结大全(3)
(10) Horizontal sub setting of data cannot be performed during the redefinition. 在Oracle 10.2.0.4和11 ...
- windows10 oracle自动备份,Windows系统下oracle 自动备份数据库
Windows系统下oracle 自动备份数据库 1.创建批处理文件(.bat) 2.建立windows 定时任务 2.1创建任务 2.2 常规处 ->填写任务名称 2.3触发器 2.4 操作 ...
- sqoop从oracle导入hive分区,sqoop从oracle导入hive Hive exited with status 64
导入命令 ./sqoop import -Dmapreduce.map.java.opts=-Xmx3000m -Dmapreduce.map.memory.mb=3200 --connect jdb ...
- oracle 手动添加分区,如何在oracle中创建子分区?
现在我开始学习oracle.some中的分区概念了.我现在如何管理分区,我试图在Oracle中创建子分区.我得到这个错误如何在oracle中创建子分区? SQL Error: ORA-14160: t ...
- Oracle如何建立多库,基于Oracle多库查询方法(分享)
基于Oracle多库查询方法(分享) 本文简述了通过创建database link实现ORACLE跨数据库查询的方法 1.配置本地数据库服务器的tnsnames.ora文件 $vi $ORACLE_H ...
- linux格式化大于2t硬盘分区,linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区...
linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找 ...
- oracle 增加间隔分区,oracle分区表之间隔分区(oracle 11g) - 漫兮网
范围分区允许用户根据分区键列值的范围创建分区.下面是一个按范围分区表的示例: create table sales6 ( sales_id number, sales_dt date ) partit ...
- oracle 定时器时间分区_Oracle数据库之oracle按时间分区以及自动分区
本文主要向大家介绍了Oracle数据库之oracle按时间分区以及自动分区,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. (1) --- 创建按时间分区的表 create ta ...
最新文章
- GTA 5真香!哦不,我在用深度学习做自动驾驶
- 十项观察!药物开发中的AI现状
- Vue.js 条件渲染
- QTableWidget控件总结
- java对象和字符串转换_java中字符串和JSON对象、Bean之间的相互转换
- 冰点文库下载V2绿色版,无需积分自由下载百度,mbalib,豆丁,畅享,hp009,max.book118 文档...
- python消费kafka_Python脚本消费kafka数据
- C# 使用 Task 替换 ThreadPool ,异步监测所有线程(任务)是否全部执行完毕
- html5实现效果代码,js+html5实现的自由落体运动效果代码
- loadrunner 11下载及破解
- 用Python全自动播放尔雅网课
- 如何将swf文件转换成pdf
- 联想MIIX510 黑苹果教程 整机升级
- 学习记录-FDD大规模MIMO系统的稀疏信道估计技术研究
- MySQL基础 创建学生表实现查询基础功能
- 数组最大值和最小值的求法
- 第三章 坐标系与投影转换之基准面和坐标系的分类基本知识
- 云时代的应用性能管理(APM)
- VS Code 高效“摸鱼”插件推荐
- 美国加州中学课本 教材介绍 - Glencoe系列- 美国初中语文 数学 科学 健康