普通表转分区表方法

--Oracle9i以上版本,利用在线重定义功能
CREATE TABLE T (ID NUMBER PRIMARY KEY, order_no varchar2(40), order_date DATE);
--unable to create INITIAL extent for segment in tablespace hmit_hyt
/*
有2个方法:
1。增大现在表空间数据文件的大小.alter database datafile 'XXX' resize XXXXM;
2。给这个表空间增加数据文件:alter   tablespace XXX add datafile 'XXX' size XXXM autoextend on next XXM maxsize XXXXM;
*/
alter   tablespace hmit_hyt add DATAFILE 'D:\app\hmit\oradata\mydata\HMIT_HYT_1.DBF' size 500M autoextend on next 50M maxsize 4096M;


INSERT INTO t SELECT ROWNUM , product_no, sys_time FROM warehouse_inventory;
--检查重定义的合理性
EXEC DBMS_REDEFINITION.CAN_REDEF_TABLE('hmit_hyt', 'T', DBMS_REDEFINITION.CONS_USE_PK);--PL/SQL procedure successfully completed


CREATE TABLE T_NEW (ID NUMBER PRIMARY KEY, order_no varchar2(40), order_date DATE) PARTITION BY RANGE (order_date) 
  (PARTITION P1 VALUES LESS THAN (TO_DATE('2009-7-1', 'YYYY-MM-DD')),
  PARTITION P2 VALUES LESS THAN (TO_DATE('2010-3-1', 'YYYY-MM-DD')), 
  PARTITION P4 VALUES LESS THAN (MAXVALUE));
  
--如果分区表和原表列名相同,可以用如下方式进行:
BEGIN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值