例如有:tablespaces1(dafafile1(100M)),tablespaces2(dafafile2(100M))...tablespaces10(dafafile10(100M)),现新建一个新的表空间tablespaces(dafafile(1G)),现想1、2...8表空间的数据移到tablespaces去,然后把原来的表空间drop掉,1、2...8里面只有几个表。有哪些方法或者说哪种方法更简单安全。最好难给出语句 
 谢谢,菜鸟向高手虚心学习中ing! 

解决方案 »

  1.   

    1.把原8个库下的数据用exp导出;
    2.在tablespaces中create user1至user8;
    3.用imp分别导入;
    4.查看无误后,再将其删除。
      

  2.   

    检查表空间中含有哪些表/索引,可以移到相应的表空间。alter table ... move tablespace ...alter index ... rebuild tablespace ...;对于含有long , long raw 的表只能重建了。对于含有lob的表,还要做:ALTER TABLE iot MOVE LOB (C2) STORE AS (TABLESPACE lob_ts); 修改lob段所在的表空间。good luck.
      

  3.   

    请问:jlandzpa
     各表的索引建在一个单独表空间里如:indx,并未建在tablespaces1..tablespaces8,是否也应该重建索引。
     大概有30个左右的表,每个表有2万条数据,用move合适吗?
     若用exp,imp是否好一点?具体操作又如何?
     
     谢谢
      

  4.   

    JIANDZPA的方法是比较好的。建议采用
      

  5.   

    jlandzpa(jlandzpa) 
    你的兩個紅星代表啥意思?
      

  6.   

    呵呵,我虽然不太能看懂你们的讨论问题,但是jlandzpa(jlandzpa) 的两个红星是专家分很高的。经常解决别人的问题,最高可为五个红星呢:)具体可参见帮助。
      

  7.   

    alter table table_name move tablespace tablespace_name
    一般还需要在新的表空间中重建索引
    alter index index_name rebuild tablespace  tablespace_name
      

  8.   

    jlandzpa(jlandzpa)提供的方法不错。