ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 转贴自itpub,有关将现有的大表进行分区的讨论

转贴自itpub,有关将现有的大表进行分区的讨论

原创 Linux操作系统 作者:orchidllh 时间:2005-02-16 00:00:00 0 删除 编辑
只将大家提到的解决放法贴在这里,也许将来用得到呢。

1.逆向数据库结构,工具erwin,pd等,生成SQL
2..根据需要建分区表.仅仅是表,新表名
3.insert into 新分区表名
select * from 原表;名
4.完成后,建主键/索引/表约束等
5.打断与原表所有关系,
备份并删除表.
or
rename 原表名 to anothername;
6.rename 新表名 to 原表名;
7.重建关系,重建trigger等.

1、先另建一个表,分区
create table AT1
partition by range(AT_bh)
(
partition p1 values less than (5000) tablespace dt1,
partition p2 values less than (10000) tablespace dt2,
partition p3 values less than (15000) tablespace dt3,
partition p0 values less than (MAXVALUE) tablespace dt0
)
as select * from AT nologing;

2、删除原始表 drop table AT cascade constraints;

3、重命名分区表
alter table AT1 rename to AT;

4、然后重建约束和索引

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/51862/viewspace-180580/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-02-21

  • 博文量
    180
  • 访问量
    842243