oracle 分区表 变大,Oracle 已存在数据的大表 改 分区表

创建表,插入测试数据

-- Create table

create table LXW_TEST

(

CDATE DATE,

T1 NUMBER,

T2 VARCHAR2(2)

)

;

insert into lxw_test

(cdate, t1, t2)

values

(to_date('2020-07-01','yyyy-mm-dd'), 1, '01');

insert into lxw_test

(cdate, t1, t2)

values

(to_date('2020-07-02','yyyy-mm-dd'), 2, '02');

查看数据

7ecdb0228ec5f7957c4104eab1a157ea.png

f39b27b877f6ca17c726ac569fd39614.png

具体操作

-- 根据原表结构创建分区表

create table LXW_TEST_2

(

CDATE DATE,

T1 NUMBER,

T2 VARCHAR2(2)

)

partition by range (cdate) ---分区的依据字段

INTERVAL (NUMTOYMINTERVAL(1,'MONTH')) --自动增加分区的间隔

(

partition p1 values less than (to_date('2020-08-01', 'yyyy-mm-dd'))

)

tablespace tablespace_lxw

pctfree 10

initrans 1

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

-- Add comments to the table

comment on table LXW_TEST

is '测试表';

--交换分区

alter table LXW_TEST_2 exchange partition p1 with table LXW_TEST;

--分区重命名

alter table LXW_TEST rename to LXW_TEST_temp;

alter table LXW_TEST_2 rename to LXW_TEST;

--所有索引重建

查询数据看一下

96dd28b49b51bb0d13343d114f71ddd3.png

看一下分区信息

12306b18043212d3869c0a23246c91ab.png

插入几条数据

insert into lxw_test

(cdate, t1, t2)

values

(to_date('2020-08-01', 'yyyy-mm-dd'), 3, '03');

insert into lxw_test

(cdate, t1, t2)

values

(to_date('2020-09-02', 'yyyy-mm-dd'), 4, '04');

insert into lxw_test

(cdate, t1, t2)

values

(to_date('2020-10-01', 'yyyy-mm-dd'), 5, '05');

查询数据

02e3195f3157068fff0127f21b995029.png

查看分区信息

4b924fc94f7e875d492e46c259e85e56.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值