分区(Partition)一直是Oracle数据库引以为傲的一项技术,正是分区的存在让Oracle高效的处理海量数据成为可能,在Oracle 11g中,分区技术在易用性和可扩展性上再次得到了增强。在10g的Oracle版本中,要对分区表做调整,尤其是对RANGE分区添加新的分区都需要DBA手动定期添加,或都使用存储过程进行管理。在11G的版本中的Interval Partition不再需要DBA去干预新分区的添加,Oracle会自动去执行这样的操作,减少了DBA的工作量。Interval Partition是Range分区的一个扩展。

1、Extended Composite Partitioning

In previous releases of Oracle, composite partitioning was limited to Range-Hash and Range-List partitioning. Oracle 11g Release 1 extends this to allow the following composite partitioning schemes:

Range-Hash (available since 8i)
Range-List (available since 9i)
Range-Range
List-Range
List-Hash
List-List

2、使用Interval Partition也有一些限制

 You can only specify one partitioning key column, and it must be of NUMBER or DATE type.
 Interval partitioning is not supported for index-organized tables.
 You cannot create a domain index on an interval-partitioned table.
 Interval partitioning is not supported at the subpartition level. ...

3、Interval Partition也可以创建复合分区

 Interval-range
 Interval-hash
 Interval-list
 

4、复合分区例子

1) Interval-list
-- Create table
--drop table ISMP.GWTRXS purge;
create table ISMP.GWTRXS
(
  GWORDERS_ID           VARCHAR2(22),
  TRXNUM                VARCHAR2(128) not null,
  TRXTYPE               VARCHAR2(4) not null,
  CHANNEL               VARCHAR2(2) not null,
  PAYMENT_TYPE          VARCHAR2(2) not null,
  PAYMODE               VARCHAR2(2) not null,
  AMOUNT                NUMBER not null,
  CURRENCY              VARCHAR2(4) not null,
  SERVICECODE           VARCHAR2(20),
  ACQUIRER_CODE         VARCHAR2(30) not null,
  ACQUIRER_NAME         VARCHAR2(400),
  ACQUIRER_MERCHANT     VARCHAR2(64) not null,
  ACQUIRER_SEQ          VARCHAR2(128),
  ACQUIRER_DATE         VARCHAR2(8),
  ACQUIRER_MSG          VARCHAR2(256),
  SUBMITDATES           VARCHAR2(20) not null,
  PAYER_IP              VARCHAR2(20),
  REFNUM                VARCHAR2(128),
  AUTHCODE              VARCHAR2(6),
  FROMACCTID            VARCHAR2(22),
  FROMACCTNUM           VARCHAR2(256) not null,
  BUYER_ID              VARCHAR2(22),
  BUYER_NAME            VARCHAR2(64),
  PAYINFO               VARCHAR2(64),
  CREATEDATE            DATE not null,
  CLOSEDATE             DATE not null,
  TRXSTS                VARCHAR2(3) not null,
  OPERS                 VARCHAR2(128),
  OPERDATE              DATE not null,
  VERSION               NUMBER not null,
  TRXDESC               VARCHAR2(100),
  ID                    VARCHAR2(22) not null,
  ACQUIRER_ID           VARCHAR2(20),
  FEE_AMOUNT            NUMBER,
  TRADE_NO              VARCHAR2(255 CHAR),
  SUCCESS_TYPE          VARCHAR2(255 CHAR),
  CHANNEL_RESPONSE      VARCHAR2(511),
  CHANNEL_RESULT        VARCHAR2(20),
  CHANNEL_RESPONSE_TIME VARCHAR2(20),
  DBTYPE                VARCHAR2(30)
)
partition by range (CREATEDATE) INTERVAL (numtodsinterval(1,'day'))
subpartition by list (DBTYPE)
SUBPARTITION TEMPLATE
(SUBPARTITION sub1 VALUES ('bailian'),
 SUBPARTITION sub2 VALUES ('yisheng'),
 SUBPARTITION sub3 VALUES ('mpayys'),
 SUBPARTITION sub4 VALUES ('yixuan'),
 SUBPARTITION sub5 VALUES ('yixuan17'),
 SUBPARTITION sub6 VALUES ('xifupay'),
 SUBPARTITION other VALUES (DEFAULT))
(partition P1 values less than (TO_DATE(' 2011-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')));
 
2)增加子分区模板
注意:新增的子分区模板,只有新的分区生成时,才会被使用到,旧的分区的子分区无法根据新的模板进行分裂,
因此,模板中要保留default分区。
ALTER table ismp.gworders SET
SUBPARTITION TEMPLATE (
SUBPARTITION sub1 VALUES ('bailian'),
 SUBPARTITION sub2 VALUES ('yisheng'),
 SUBPARTITION sub3 VALUES ('mpayys'),
 SUBPARTITION sub4 VALUES ('yixuan'),
 SUBPARTITION sub5 VALUES ('yixuan17'),
 SUBPARTITION sub6 VALUES ('xifupay'),
 SUBPARTITION sub7 VALUES ('nfooo'),
 SUBPARTITION other VALUES (DEFAULT)
);

原文:https://blog.csdn.net/jolly10/article/details/82620802

Oracle 11g新特性 Interval Partition的更多相关文章

  1. Oracle 11g 新特性 --SQL Plan Management 说明

    Oracle 11g 新特性 --SQL Plan Management 说明 参见大神博主文章: http://blog.csdn.net/tianlesoftware/article/detail ...

  2. Oracle 11g 新特性 – HM(Hang Manager)简介

    在这篇文章中我们会对oracle 11g 新特性—hang 管理器(Hang Manager) 进行介绍.我们需要说明,HM 只在RAC 数据库中存在. 在我们诊断数据库问题的时候,经常会遇到一些数据 ...

  3. 使用Oracle 11g新特性 Active Database Duplication 搭建Dataguard环境

    Duplication Database 介绍 Duplicate database可以按照用途分为2种: duplicate database(复制出一个数据库) duplicate standby ...

  4. Oracle 11g新特性

    文章转自网络 Oracle 11g于2007年7月11日美国东部时间11时(北京时间11日22时)正式发布,11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(I ...

  5. Oracle 11g 新特性(一)-- 虚拟列

    数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Oracle11g 增加了虚拟列的新特性, 具体说明如 ...

  6. Oracle 11g新特性延迟段创建和truncate的增强

    下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...

  7. Oracle 11g新特性 -- 延迟段

    11gR2之前的版本中,当创建一张表时,会自动分配段空间,这样做有几个弊端: 1. 初始创建表时就需要分配空间,自然会占用一些时间,如果初始化多张表,这种影响就被放大. 2. 如果很多表开始的一段时间 ...

  8. Oracle 11g 新特性 -- Oracle Restart 说明(转载)

    转载:http://blog.csdn.net/tianlesoftware/article/details/8435670 一.  OHASD 说明 Oracle 的Restart 特性是Oracl ...

  9. Oracle 11g新特性direct path read引发的系统停运故障诊断处理

    黎俊杰 | 2016-07-28 14:37 声明:部分表名为了脱敏而用XX代替 1.故障现象 (1)一个业务系统输入用户名与密码后无法进入首页,表现为一直在运行等待,运行缓慢 (2)整个系统无法正常 ...

随机推荐

  1. define和typedef

    #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错. 所以define后加分号,不然会把分号也会一 ...

  2. Git入门私房菜

    昨天下午参考廖雪峰的博客和其他一些文章,简单了解了一下传说中的Git,发现常见用法入门还是挺容易上手的,在此做一些笔记,方便以后查阅和复习. Git安装 Linux sudo apt-get inst ...

  3. BZOJ 3339 && luogu4137 Rmq Problem / mex(莫队)

    P4137 Rmq Problem / mex 题目描述 有一个长度为n的数组{a1,a2,-,an}.m次询问,每次询问一个区间内最小没有出现过的自然数. 输入输出格式 输入格式: 第一行n,m. ...

  4. C# String.Join 与 StringBuilder 对比,谁更快

    String.Join 文档      StringBuilder 文档 这两天刷 Leedcode 做到一道 String 的题时突然想到这俩对比的问题,于是查了一下资料并简单对比了一下. 首先对于 ...

  5. HDU 3466 Proud Merchants(0-1背包)

    http://acm.hdu.edu.cn/showproblem.php?pid=3466 题意: 最近,iSea去了一个古老的国家.在这么长的时间里,它是世界上最富有和最强大的王国.结果,这个国家 ...

  6. WPF基础学习笔记整理 (二) XAML

    基础知识: XAML:Extensible Application Markup Language, zammel: 用于实例化.NET对象的标记语言: XMAL使用树形逻辑结构描述UI: BAML: ...

  7. Cocos2d-x学习笔记(十二)3D特效

    特效类即是GridAction类,其实就是基于网格的3D动作类.需开启OpenGL的深度缓冲,否则容易3D失真. 下边是一个snippet,创建网格对象,并将其添加到当前layer:同时,将进行3D特 ...

  8. STL_算法_04_算术和生成算法

    ◆ 常用的算术和生成算法: 1.1.求和( accumulate 是求和的意思)(对指定范围内的元素求和,然后结果再加上一个由val指定的初始值.) T accumulate(iteratorBegi ...

  9. 学霸网站之NABC

    1.Need 本次学霸系统的设计是基于学长的版本,在此基础上,我们准备进一步完善已有版块,在用户信息管理.提问.搜索.分类.评论.个性化界面.用户反馈.娱乐.积分获取等方面加入新的功能. 一.用户信息 ...

  10. AtomicLong与LongAdder的区别

    AtomicLong的原理 AtomicLong是通过依靠底层的CAS来保障原子性的更新数据,在要添加或者减少的时候,会使用死循环不断地cas到特定的值,从而达到更新数据的目的. LongAdder的 ...