Oracle11g在分区方面做了很大的提高,不但新增了4种复合分区类型,还增加了虚拟列分区、系统分区、INTERVAL分区等功能。

9i开始,Oracle就包括了2种复合分区,RANGE-HASH和RANGE-LIST。在11g,Oracle一下就提供了4种复合分区:RANGE-RANGE、LIST-RANGE、LIST-HASH和LIST-LIST。

oracle 11g创建、修改、删除list-list组合分区命令如下:

1、--创建list-list组合分区表
create table MYPARTTABLE
(
ID number(10),
NAME varchar2(256),
PROVINCECODE varchar2(2),
AREACODE number(6)
)
partition by list (provincecode)
subpartition by list(areacode)
(
partition MYPARTTABLE_FJ values ('FJ')
(
subpartition MYPARTTABLE_FJ_590 values(590),
subpartition MYPARTTABLE_FJ_591 values(591),
subpartition MYPARTTABLE_FJ_592 values(592)
)
,
partition MYPARTTABLE_XZ values ('XZ')
(
subpartition MYPARTTABLE_XZ_5400 values(5400),
subpartition MYPARTTABLE_XZ_891 values(891),
subpartition MYPARTTABLE_XZ_892 values(892)
)
);

2、--新增一个list-list分区
alter table MYPARTTABLE add partition MYPARTTABLE_LN values('LN');--不带子分区

alter table MYPARTTABLE add partition MYPARTTABLE_LN values('LN')
(
subpartition MYPARTTABLE_LN_2100 values(2100),
subpartition MYPARTTABLE_LN_24 values(24)
);--带子分区

3、--新增一个子分区
alter table MYPARTTABLE modify partition MYPARTTABLE_LN add subpartition MYPARTTABLE_LN_412 values(412);

4、--新增多个分区/子分区
摘自:http://www.searchdatabase.com.cn/showcontent_74959.htm
在Oracle 12c R1之前,一次只可能添加一个新分区到一个已存在的分区表。要添加一个以上的新分区,需要对每个新分区都单独执行一次ALTER TABLE ADD PARTITION语句。
而Oracle 12c只需要使用一条单独的ALTER TABLE ADD PARTITION 命令就可以添加多个新分区,这增加了数据库灵活性。

SQL> alter table MYPARTTABLE modify partition MYPARTTABLE_LN add subpartition MYPARTTABLE_LN_412 values(412),subpartition MYPARTTABLE_LN_414 values(414);

alter table MYPARTTABLE modify partition MYPARTTABLE_LN add subpartition MYPARTTABLE_LN_412 values(412),subpartition MYPARTTABLE_LN_414 values(414)

ORA-14158: 子分区说明太多

5、--删除非唯一的list-list组合分区
alter table MYPARTTABLE drop partition MYPARTTABLE_LN;
alter table MYPARTTABLE drop partition MYPARTTABLE_FJ;

6、--删除唯一的list-list组合分区
alter table MYPARTTABLE drop partition MYPARTTABLE_XZ;
ORA-14083: 无法删除分区表的唯一分区

7、--删除非唯一的子分区
alter table MYPARTTABLE drop subpartition MYPARTTABLE_LN_24;
alter table MYPARTTABLE drop subpartition MYPARTTABLE_LN_412;

8、--删除唯一的子分区
alter table MYPARTTABLE drop subpartition MYPARTTABLE_LN_2100;
ORA-14629: 无法删除一个分区中唯一的子分区

oracle 11g 如何创建、修改、删除list-list组合分区的更多相关文章

  1. Oracle 11g R2创建数据库之手工建库方式

    在之前的博文当中梳理了关于DBCA静默方式创建数据库的过程,本文就手工通过SQL*PLUS客户端采用CREATE DATABASE语句创建数据库.这种建库方式就是完全使用手工SQL语句创建数据库,通常 ...

  2. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.7.Oracle 11G R2 RAC修改public网络IP

    问题:Linuxrac2节点的public网IP被占用,导致集群节点2无法访问 1.禁止相关CRS资源的启动,停止这些资源(vip,listener,scan,scan_listener,databa ...

  3. Linux创建修改删除用户和组

    Linux 创建修改删除用户和组 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的相关信息. 用户信息 先 ...

  4. oracle11g创建修改删除表

    oracle11g创建修改删除表 我的数据库名字: ORCL         密码:123456 1.模式 2.创建表 3.表约束 4.修改表 5.删除表 1.模式 set oracle_sid=OR ...

  5. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言 库和表的管理 一:库的管理:创建/修改/删除 二:表的管理:创建/修改/删除 创建: CREATE DATABASE [IF NOT EXISTS] 库名; 修 ...

  6. oracle 11g 分区表创建(自动按年、月、日分区)

    前言:工作中有一张表一年会增长100多万的数据,量虽然不大,可是表字段多,所以一年下来也会达到 1G,而且只增不改,故考虑使用分区表来提高查询性能,提高维护性. oracle 11g 支持自动分区,不 ...

  7. oracle 11g rac R2 for linux change(public,vip)IP ,hostname (oracle 11g rac R2 修改公有,虚拟,私有IP,网卡)

    结构如下: 说明: 节点IP,主机名的修改步骤来自ORACLE support文档: 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1) 实验环境情况如下: 实验 节点名称 数 ...

  8. Oracle 11g R2创建数据库之DBCA静默方式

    通常创建Oracle数据库都是通过DBCA(Database Configuration Assistant)工具完成的,DBCA工具可以通过两种方式完成建库任务,即图形界面方式和静默命令行方式.既然 ...

  9. Linux基础学习-用户的创建修改删除

    用户添加修改删除 1 useradd添加用户 添加一个新用户hehe,指定uid为3000,家目录为/home/haha [root@qdlinux ~]# useradd -u 3000 -d /h ...

随机推荐

  1. paip.杀不死进程的原因--僵尸进程的解决.txt

    paip.杀不死进程的原因--僵尸进程的解决.txt 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn ...

  2. atittit.表单验证的实现方式以及原理本质以及选型以及自定义兼容easyui dsl规则的表单验证

    atittit.表单验证的实现方式以及原理本质以及选型以及自定义兼容easyui dsl规则的表单验证 1. 需求,表单验证需要弹框式,但目前easyui ms绑定死了tooltip式样 1 2. 表 ...

  3. paip.java OutOfMemoryError 解决方法o33

    paip.java OutOfMemoryError 解决方法o33 java.lang.OutOfMemoryError: Requested # java.lang.OutOfMemoryErro ...

  4. iOS开发--JSON

    1.什么是JSON? JSON(JavaScript Object Notation)在网络传输中几乎无处不在,JSON是一种轻量级的数据交换格式,是基于JavaScript(Standard ECM ...

  5. JAVA编程中的类和对象

    1:初学JAVA,都知道JAVA是面向对象的编程.笔者这节开始说说类和对象.(实例仅供参考,如若复制粘贴记得修改包名和类名,避免出错) 学习JAVA的快捷键,Alt+/代码补全功能,其实此快捷键启动了 ...

  6. chrome浏览器扩展的事件处理

    关于chrome扩展开发的栗子已经有很多了,问问度娘基本能满足你的欲望, 我想说的是扩展和页面间的数据传递问题. 我们知道写扩展有个必须的文件就是“manifest.json”, 这个里面定义了一个和 ...

  7. Android图片处理-相机、相处简单调用

    安卓开发中,常常需要使用到手机相机拍照.或者相册上传头像等等.通过使用Intent,我们很方便地获得相机.相册里面的图片: 1.相机调用,通过设置File文件路径和文件名,可以将拍照得到的图片保存下来 ...

  8. 如何在安装程序中判断操作系统是否是64位 inno

    [Setup]; 开启64位模式ArchitecturesInstallIn64BitMode=x64 [Run] ;根据是否是64位进行不同的操作Filename: "..."; ...

  9. C#中Math.Round()实现中国式四舍五入

    C#中Math.Round()实现中国式四舍五入 C#中的Math.Round()并不是使用的"四舍五入"法.其实在VB.VBScript.C#.J#.T-SQL中Round函数都 ...

  10. Python LDAP中的时间戳转换为Linux下时间

    (Get-ADUser zhangsan -Properties badpasswordtime).badpasswordtime返回值为:131172610187388712131172610187 ...