zoukankan      html  css  js  c++  java
  • Oracle 11g 分区拆分与合并

    时间范围分区拆分
    create table emp (
    id number(6) not null,
    hire_date date not null)
    partition by range(hire_date)
    (partition p_1998 values less than (to_date('1998-12-31','YYYY-MM-DD')),
    partition p_1999 values less than (to_date('1999-12-31','YYYY-MM-DD')),
    partition p_default values less than (maxvalue)
    );

    insert into emp values(10,to_date('1999-5-20','YYYY-MM-DD'));
    insert into emp values(20,to_date('1999-8-10','YYYY-MM-DD'));

    SQL> select count(*) from emp partition(p_1999);
      COUNT(*)
    ----------
             2
    将p_1999分区拆分成两个分区
        
    SQL> ALTER TABLE emp SPLIT PARTITION p_1999
      2     AT (to_date('1999-07-01','YYYY-MM-DD'))
      3     INTO (PARTITION p_1999_01, PARTITION p_1999_02);

    表已更改。

    SQL> select count(*) from emp partition(p_1999_01);

      COUNT(*)
    ----------
             1

    SQL> select count(*) from emp partition(p_1999_02);

      COUNT(*)
    ----------
             1

    将p_default分区拆分成两个分区

    SQL> insert into emp values(30,to_date('2000-5-27','YYYY-MM-DD'));

    已创建 1 行。

    SQL> insert into emp values(40,to_date('2001-10-02','YYYY-MM-DD'));

    已创建 1 行。

    SQL> select count(*) from emp partition(p_default);

      COUNT(*)
    ----------
             2

    SQL> ALTER TABLE emp SPLIT PARTITION p_default
      2         AT (to_date('2000-12-31','YYYY-MM-DD'))
      3         INTO (PARTITION p_2000, PARTITION p_default);

    表已更改。

    SQL> select count(*) from emp partition(p_default);

      COUNT(*)
    ----------
             1

    SQL> select count(*) from emp partition(p_2000);

      COUNT(*)
    ----------
             1

    SQL> select * from emp partition(p_default);

            ID HIRE_DATE
    ---------- -------------------
            40 2001-10-02 00:00:00

    SQL> select * from emp partition(p_2000);

            ID HIRE_DATE
    ---------- -------------------
            30 2000-05-27 00:00:00

    LIST分区拆分
    SQL> create table dept (
      2  id number(6) not null,
      3  area varchar2(15) not null)
      4  partition by list(area)
      5  (
      6     PARTITION asia VALUES ('CHINA', 'THAILAND'),
      7     PARTITION europe VALUES ('GERMANY', 'ITALY', 'SWITZERLAND'),
      8     PARTITION west VALUES ('AMERICA'),
      9     PARTITION east VALUES ('INDIA'),
     10     PARTITION rest VALUES (DEFAULT));

    表已创建。

    SQL> insert into dept values(10,'MEXICO');
    已创建 1 行。

    SQL> insert into dept values(20,'COLOMBIA');
    已创建 1 行。

    SQL> select count(*) from dept partition(rest);

      COUNT(*)
    ----------
             2

    SQL> ALTER TABLE dept SPLIT PARTITION rest
      2     VALUES ('MEXICO', 'COLOMBIA')
      3     INTO (PARTITION south, PARTITION rest);
    表已更改。

    SQL> select count(*) from dept partition(rest);

      COUNT(*)
    ----------
             0

    SQL> select count(*) from dept partition(south);

      COUNT(*)
    ----------
             2

    分区合并

    SQL> SELECT table_name,partition_name  FROM USER_tab_partitions where table_name='EMP';

    TABLE_NAME                     PARTITION_NAME
    ------------------------------ ------------------------------
    EMP                            P_1998
    EMP                            P_1999_01
    EMP                            P_1999_02
    EMP                            P_2000
    EMP                            P_DEFAULT

    SQL> ALTER TABLE emp
      2         MERGE PARTITIONS P_1999_01, P_1999_02 INTO PARTITION P_1999;

    表已更改。

    SQL> SELECT table_name,partition_name  FROM USER_tab_partitions where table_name='EMP';

    TABLE_NAME                     PARTITION_NAME
    ------------------------------ ------------------------------
    EMP                            P_1998
    EMP                            P_1999
    EMP                            P_2000
    EMP                            P_DEFAULT

    SQL> SELECT table_name,partition_name  FROM USER_tab_partitions where table_name='DEPT';

    TABLE_NAME                     PARTITION_NAME
    ------------------------------ ------------------------------
    DEPT                           ASIA
    DEPT                           EUROPE
    DEPT                           WEST
    DEPT                           EAST
    DEPT                           SOUTH
    DEPT                           REST
    已选择6行。

    SQL> ALTER TABLE dept
      2     MERGE PARTITIONS south, rest INTO PARTITION rest;
    表已更改。

    SQL> select count(*) from dept partition(rest);

      COUNT(*)
    ----------
             2

  • 相关阅读:
    富文本的一般处理方式,document.getElementById('富文本的ID').contentWindow.document.body.innerHTML = '%s'" %(content)
    本地搭建Jenkins
    if __name__ == '__main__'是什么意思?如何理解?看到一个很有用的解答
    关于执行webdriver.Chrome; 报错WebDriverException: Message: unknown error: Element is not clickable at point (1085, 103)
    【转载】学习总结——接口测试基础
    fiddler使用——配置抓取https,出现提示“禁用解密”“单击配置”
    算法(二叉树-矩阵-堆排序)
    算法(递归)---写的很乱
    ES6高级技巧(二)
    ES6高级使用技巧(reduce,filter篇)
  • 原文地址:https://www.cnblogs.com/sprinng/p/6921042.html
Copyright © 2011-2022 走看看