使用ORACLE在线重定义将普通表改为分区表
因客户现场有一张表数据流量巨大,达到50G,查询起来较慢,遂决定进行分区表改造,测试环境进行测试,此次方法才用在线重定义方法 1.创建测试表 create table elan(id int primary key,name varchar2(32)); --表中需要定义主键,如果没有主键可以在后期添加 2.批量向表中插入数据 begin for i in 1..100000 loop insert into elan.elan values(i,'x'); end loop; commit; end; / 查看表中的数据是否插入 SQL> select count(1) from elan; COUNT(1) ---------- 100000 3.创建中间表 --此次分区才用hash分区的方式 CREATE TABLE elan_new (ID NUMBER PRIMARY KEY, name varchar2(32)) PARTITION BY hash (id) ( PARTITION PART01 TABLESPACE elan, PARTITION PART02 TABLESPACE elan, PARTITION PART03 TABLESPACE elan); 4.检测表是否可以执行在线重定义 QL> BEGIN DBMS_REDEFINITION.CAN