请教 oracle 表分区问题?由于需求方面变更的原因,数据库设计初期没有预想到有些表的数据量那么大,
目前,已经存在一个数据量很大的表,现在想对它进行表分区,有没有可行的办法?谢谢!
ps: 不知道下面步骤是否可行(前期没有进行表分区)
我现在创建分区 create tablespace space01 datafile ’/test/demo/oracle/demodata/dinya01.dnf’size 50M 
然后加入表中 alter table 表名 add partition part_01 values less than(to_date(’2008-05-01’,’yyyy-mm-dd’)) tablespace space01 

解决方案 »

  1.   

    java2000_net ,我想建成每一个月一个区,但是有2个问题:(尤其以第1个问题最为重要)
    1、由于建表前没有做分区,我现在采用什么办法做分区?(针对以后的数据做分区)
    2、此前的半年左右的数据又如何处理?
      

  2.   

    呵呵!建议你先看一下分区的相关资料oracle 可以在现有数据上作分区,关键在做好分区的规则。
    而且分区可以提前划分出来
    比如
    2008-10-1 2008-10-31 分区你划分了,在10-1之前这个分区一直没有数据而已。就这样。我们一般提前划分1年的分区。 Patation 的作用主要得根据业务。 如果你的查询经常在某个月,某几个月内,那就很好用。
      

  3.   

    使用这个方法
      create table tt as select * from tt;具体操作,先建立的分区表,然后利用上面的方法.来把原来的数据拷贝上去