签到成功

知道了

CNDBA社区CNDBA社区

Oracle范围分区表

2021-10-08 22:08 1958 0 原创 oracle
作者: hbhe0316

1.创建表空间

SQL> create tablespace tbs001  datafile '/oradata/orcl/tbs001.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs002  datafile '/oradata/orcl/tbs002.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs003  datafile '/oradata/orcl/tbs003.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs004  datafile '/oradata/orcl/tbs004.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs005  datafile '/oradata/orcl/tbs005.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs006  datafile '/oradata/orcl/tbs006.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs007  datafile '/oradata/orcl/tbs007.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs008  datafile '/oradata/orcl/tbs008.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs009  datafile '/oradata/orcl/tbs009.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs010  datafile '/oradata/orcl/tbs010.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs011  datafile '/oradata/orcl/tbs011.dbf' size 150M autoextend on next 10M maxsize 3000M;

SQL> create tablespace tbs012  datafile '/oradata/orcl/tbs012.dbf' size 150M autoextend on next 10M maxsize 3000M;

2.创建分区表http://www.cndba.cn/hbhe0316/article/4908http://www.cndba.cn/hbhe0316/article/4908

CREATE TABLE rangeExample(
     range_key_column DATE,
     DATA VARCHAR2(20),
     ID integer
 ) PARTITION BY RANGE(range_key_column)
 (
     PARTITION part01 VALUES LESS THAN (TO_DATE('2021-01-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs001,
     PARTITION part02 VALUES LESS THAN (TO_DATE('2021-02-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs002,
     PARTITION part03 VALUES LESS THAN (TO_DATE('2021-03-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs003,
     PARTITION part04 VALUES LESS THAN (TO_DATE('2021-04-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs004,
     PARTITION part05 VALUES LESS THAN (TO_DATE('2021-05-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs005,
     PARTITION part06 VALUES LESS THAN (TO_DATE('2021-06-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs006,
     PARTITION part07 VALUES LESS THAN (TO_DATE('2021-07-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs007,
     PARTITION part08 VALUES LESS THAN (TO_DATE('2021-08-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs008,
     PARTITION part09 VALUES LESS THAN (TO_DATE('2021-09-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs009,
     PARTITION part10 VALUES LESS THAN (TO_DATE('2021-10-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs010,
     PARTITION part11 VALUES LESS THAN (TO_DATE('2021-11-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs011,
     PARTITION part12 VALUES LESS THAN (TO_DATE('2021-12-1 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs012
);

3.插入数据http://www.cndba.cn/hbhe0316/article/4908http://www.cndba.cn/hbhe0316/article/4908

insert into rangeExample values ('2021-01-1 06:00:00',1,1);
insert into rangeExample values ('2021-02-1 06:00:00',2,2);
insert into rangeExample values ('2021-03-1 06:00:00',3,3);
insert into rangeExample values ('2021-04-1 06:00:00',4,4);
insert into rangeExample values ('2021-05-1 06:00:00',5,5);
insert into rangeExample values ('2021-06-1 06:00:00',6,6);
insert into rangeExample values ('2021-07-1 06:00:00',7,7);
insert into rangeExample values ('2021-08-1 06:00:00',8,8);
insert into rangeExample values ('2021-09-1 06:00:00',9,9);
insert into rangeExample values ('2021-10-1 06:00:00',10,10);
insert into rangeExample values ('2021-11-1 06:00:00',11,11);
insert into rangeExample values ('2021-11-30 06:00:00',12,12);

4.查看分区数据

SQL> set linesize 200
SQL> set pagesize 200
SQL> col table_name for a20
SQL> col partition_name for a20
SQL> select table_name,partition_name from user_tab_partitions where table_name='RANGEEXAMPLE';

TABLE_NAME           PARTITION_NAME
-------------------- --------------------
RANGEEXAMPLE         PART01
RANGEEXAMPLE         PART02
RANGEEXAMPLE         PART03
RANGEEXAMPLE         PART04
RANGEEXAMPLE         PART05
RANGEEXAMPLE         PART06
RANGEEXAMPLE         PART07
RANGEEXAMPLE         PART08
RANGEEXAMPLE         PART09
RANGEEXAMPLE         PART10
RANGEEXAMPLE         PART11
RANGEEXAMPLE         PART12

12 rows selected.

5.查看每个分区的数据http://www.cndba.cn/hbhe0316/article/4908

SQL> select count(*) from RANGEEXAMPLE partition (part01);

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

SQL> select count(*) from RANGEEXAMPLE partition (part02);

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

SQL> select count(*) from RANGEEXAMPLE partition (part03);

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

SQL> select count(*) from RANGEEXAMPLE partition (part04);

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

SQL> select count(*) from RANGEEXAMPLE partition (part05);

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

SQL> select count(*) from RANGEEXAMPLE partition (part06);

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

SQL> select count(*) from RANGEEXAMPLE partition (part07);

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

SQL> select count(*) from RANGEEXAMPLE partition (part08);

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

SQL> select count(*) from RANGEEXAMPLE partition (part09);

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

SQL> select count(*) from RANGEEXAMPLE partition (part10);

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

SQL> select count(*) from RANGEEXAMPLE partition (part11);

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

SQL> select count(*) from RANGEEXAMPLE partition (part12);

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

6.新增分区

http://www.cndba.cn/hbhe0316/article/4908
http://www.cndba.cn/hbhe0316/article/4908


SQL>   ALTER TABLE rangeExample ADD PARTITION part13 VALUES LESS THAN (TO_DATE('2022-01-31 00:00:00','yyyy-mm-dd hh24:mi:ss')) TABLESPACE tbs012;

Table altered.

7.删除分区

SQL> ALTER TABLE rangeExample DROP PARTITION part13;

Table altered.

8.创建本地索引http://www.cndba.cn/hbhe0316/article/4908

SQL> create index com_index_range_example_id on rangeExample(id);

Index created.

9.创建本地分区索引

http://www.cndba.cn/hbhe0316/article/4908
http://www.cndba.cn/hbhe0316/article/4908

SQL> create index  local_index_range_example_id on rangeExample(data) local;

Index created.

10.创建全局分区索引

版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux,oracle

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:2697482次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ