zoukankan      html  css  js  c++  java
  • oracel表的分区

    1,创建表及分区

    create table test
    (
    ID	VARCHAR2(32),
    MONTHS	VARCHAR2(40),
    USERID	VARCHAR2(20)
    )
    partition by list(MONTHS)  
    (  
      partition m201404 values('201404'),
      partition m201405 values('201405')
    )

    2。插入数据

    insert into test values('1','201404','1');
    insert into test values('2','201405','2');
    insert into test values('3','201407','3');

    当中。前两条能够成功。

    第三条失败   ORA-14400: 插入的分区keyword未映射到不论什么分区

    3。加入新的分区

    alter table test add partition m201406 values('201407');

    4,然后再插入第三条数据成功

    最后查询:

    select * from TEST;// 全部数据
    select * from TEST partition(m201404);//分区m201404里全部数据
    select * from TEST partition(m201405);
    select * from TEST partition(m201406);

    5,创建表及列分区并加入默认分区 后期加入新的分区

    create table test  
    (  
    ID  VARCHAR2(32),  
    MONTHS  VARCHAR2(40),  
    USERID  VARCHAR2(20)  
    )  
    partition by list(MONTHS)    
    (    
      partition m201404 values('201404'),  
      partition m201405 values('201405'),
      partition mdefault values(default)
    ) 
    // 删除mdefault分区
    alter table test drop partition mdefault;
    // 加入新的分区后再加上mdefault分区
    alter table test add partition m201406 values('201407');
    alter table test add partition mdefault values(default);

    6,分区表的查询

    select table_name,partition_name from DBA_TAB_PARTITIONS where table_owner='RPT';

    备注:对于范围分区(有默认分区的)就不能加入

    create table test
    (
    ID  VARCHAR2(32),
    MONTHS  VARCHAR2(40),
    USERID  VARCHAR2(20)
    )
    partition by range(MONTHS)
    (  
      partition m201404 values less than (201405),
      partition m201405 values less than (201406),
      partition mother values less than (maxvalue)
    )
    //以下报错:ORA-14074: 分区界限必须调整为高于最后一个分区界限
    
    alter table test add partition m201406 values less than (201407);

    将分区的mother去掉就能够了

    create table test
    (
    ID  VARCHAR2(32),
    MONTHS  VARCHAR2(40),
    USERID  VARCHAR2(20)
    )
    partition by range(MONTHS)
    (  
      partition m201404 values less than (201405),
      partition m201405 values less than (201406)
    )
    
    alter table test add partition m201406 values less than (201407);


  • 相关阅读:
    持续交付知易行难,想做成这事你要理解这几个关键点
    运维需要懂产品和运营吗?
    云计算和AI时代,运维应该如何做好转型?
    从谷歌CRE谈起,运维如何培养服务意识?
    谷歌SRE运维模式解读
    如何打造好运维组织架构?
    如何在CMDB中落地应用的概念?
    有了CMDB,为什么还需要应用配置管理?
    Vue视图渲染原理解析,从构建VNode到生成真实节点树
    10个Vue开发技巧助力成为更好的工程师(二)
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6979983.html
Copyright © 2011-2022 走看看