日期:2014-05-16  浏览次数:20586 次

(转)Oracle的在线重定义(将普通表转为分区表ora9i以上版本)

1、创建表

2、插入数据

SQL>?COMMIT;

3、在线重定义的表自行验证,看该表是否可以重定义,

?(如果没有定义主键会提示以下错误信息
?ORA-12089:?cannot?online?redefine?table?"OFSA"."PFT_PARTY_PROFIT_DETAIL"?with?no?primary?key
?ORA
-06512:?at?"SYS.DBMS_REDEFINITION",?line?247
?
?SQL
>?alter?table?t?add?constraint?pk_t?primary?key(id);

4、建个和源表表结构一样的分区表,作为中间表。按日期范围分区

?

?????(PARTITION?P1?VALUES?LESS?THAN?(TO_DATE('2004-7-1',?'YYYY-MM-DD')),?
?????PARTITION?P3?
VALUES?LESS?THAN?(TO_DATE('2005-7-1',?'YYYY-MM-DD')),?