oracle在线重定义_将普通表转换为分区表

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:35

oracle在线表重定义_将普通表转换为分区表的模拟过程

Drop table t;
CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE);
INSERT INTO T
SELECT ROWNUM, SYSDATE - ROWNUM FROM DBA_OBJECTS WHERE ROWNUM <= 5000; COMMIT; EXEC DBMS_REDEFINITION.CAN_REDEF_TABLE(USER, 'T'); PL/SQL 过程已成功完成。 CREATE TABLE T_NEW (ID NUMBER PRIMARY KEY, TIME DATE) PARTITION BY RANGE (TIME) (PARTITION P1 VALUES LESS THAN (TO_DATE('2004-7-1', 'YYYY-MM-DD')), PARTITION P2 VALUES LESS THAN (TO_DATE('2005-1-1', 'YYYY-MM-DD')), PARTITION P3 VALUES LESS THAN (TO_DATE('2005-7-1', 'YYYY-MM-DD')), PARTITION P4 VALUES LESS THAN (MAXVALUE)); 表已创建。 EXEC DBMS_REDEFINITION.START_REDEF_TABLE(USER, 'T', 'T_NEW'); PL/SQL 过程已成功完成。 EXEC DBMS_REDEFINITION.FINISH_REDEF_TABLE(USER, 'T', 'T_NEW'); PL/SQL 过程已成功完成。 SELECT COUNT(*) FROM T; COUNT(*) ---------- 5000 SELECT COUNT(*) FROM T PARTITION (P3); COUNT(*) ---------- 1096

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】