将普通表转换成分区表有4种方法:
1) Export/import method
2) Insert with a subquery method
3) Partition exchange method(交换分区)
4) DBMS_REDEFINITION(在线重定义)
交换分区的步骤:
1) 创建分区表,假设有2个分区,P1,P2
2) 创建表A存放P1规则的数据
3) 创建表B 存放P2规则的数据
4) 用表A 和P1 分区交换,把表A的数据放到到P1分区
5) 用表B 和p2 分区交换,把表B的数据存放到P2分区
示例:
a. 创建分区表:
sql> create table p_dba
2 (id number,time date)
3 partition by range(time)
4 (
5 partition p1 values less than (to_date('2010-09-1', 'yyyy-mm-dd')),
6 partition p2 values less than (to_date('2010-11-1', 'yyyy-mm-dd'))
7 );
b.创建2个分别对应分区的基表:
SQL> CREATE TABLE dba_p1 as SELECT id,time_fee FROM dba_old WHERE
time_fee<TO_DATE('2010-09-1', 'YYYY-MM-DD');
SQL> CREATE TABLE dba_p2 as SELECT id,time_fee FROM dba_old WHERE
time_