暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

非分区表转化成分区表(一)

原创 黄宸宁 2013-04-16
599
方法一:利用原表重建分区表
SYS@hcndb>
SYS@hcndb>create table hcn.test1 as select * from dba_objects;
Table created.
SYS@hcndb>
HCN@hcndb>
HCN@hcndb>select count(*) from test1;
COUNT(*)
----------
50679
HCN@hcndb>
CREATE TABLE test_part PARTITION BY RANGE (object_id)
(PARTITION P1 VALUES LESS THAN (10000),
PARTITION P2 VALUES LESS THAN (20000),
PARTITION P3 VALUES LESS THAN (30000),
PARTITION P4 VALUES LESS THAN (40000),
PARTITION P5 VALUES LESS THAN (MAXVALUE))
AS SELECT * FROM test1;
HCN@hcndb>
HCN@hcndb>CREATE TABLE test_part PARTITION BY RANGE (object_id)
2 (PARTITION P1 VALUES LESS THAN (10000),
3 PARTITION P2 VALUES LESS THAN (20000),
4 PARTITION P3 VALUES LESS THAN (30000),
5 PARTITION P4 VALUES LESS THAN (40000),
6 PARTITION P5 VALUES LESS THAN (MAXVALUE))
7 AS SELECT * FROM test1;
Table created.
HCN@hcndb>
HCN@hcndb>
HCN@hcndb>select count(*) from test_part;
COUNT(*)
----------
50679
HCN@hcndb>
HCN@hcndb>
HCN@hcndb>SELECT COUNT(*) FROM test_part PARTITION (P1);
COUNT(*)
----------
8937
HCN@hcndb>
HCN@hcndb>
HCN@hcndb>SELECT COUNT(*) FROM test_part PARTITION (P2);
COUNT(*)
----------
9890
HCN@hcndb>
HCN@hcndb>
HCN@hcndb>SELECT COUNT(*) FROM test_part PARTITION (P3);
COUNT(*)
----------
10000
HCN@hcndb>
HCN@hcndb>
HCN@hcndb>SELECT COUNT(*) FROM test_part PARTITION (P4);
COUNT(*)
----------
9997
HCN@hcndb>
HCN@hcndb>
HCN@hcndb>SELECT COUNT(*) FROM test_part PARTITION (P5);
COUNT(*)
----------
11855
HCN@hcndb>
HCN@hcndb>select max(object_id) from test_part partition(p1); --可以看到p1的边界是<10000
MAX(OBJECT_ID)
--------------
9999
HCN@hcndb>
HCN@hcndb>
HCN@hcndb>select min(object_id) from test_part partition(p2);
MIN(OBJECT_ID)
--------------
10000
HCN@hcndb>
可以通过以下方法转换表名
RENAME test1 TO test_old;
RENAME test_part TO test1;

 
 
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论