zoukankan      html  css  js  c++  java
  • oracle 11g 如何创建、修改、删除list-list组合分区

        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: 无法删除一个分区中唯一的子分区

  • 相关阅读:
    英特尔“硬盘内存一体化”首款产品正式发布,读写速度超千倍,存储密度扩充十倍
    程序员,你为什么值这么多钱?
    不懂程序看的明白《黑客帝国》吗?
    程序员的工作、学习与绩效
    架构设计师能力模型
    .net平台的MongoDB使用
    转载-30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)
    XAF-DevExpress.ExpressApp.DC.Xpo.XpoTypeInfoSource 生成实体的过程-学习笔记
    谈谈敏捷开发
    XAF-由于try catch导致的性能问题一例
  • 原文地址:https://www.cnblogs.com/wtiancai/p/3224914.html
Copyright © 2011-2022 走看看