我的oracle 的 database已超过 10G,但实际数据为3G,有三个表空间超过1G,我想oracle7.3升级oracle8.17(已建好),同时压缩表空间(这是最主要的),请指点我该如何办?
谢谢!
    我试过如下方法:
    1、imp full=y   ,空间不变;
    2、imp 后,truncate 一个表空间的所有表,再imp 这些表,报错ora_1562;
    3、imp 后,drop 一个表空间的所有表,再imp 这些表,空间不变;
                 

解决方案 »

  1.   

    回答:
    对于1:
     exp时分使用compress=y才压缩空间
    对于2:
     imp时要加入ignore=y选择,即忽略create talble时因表名存在时的告警。
    对于3:
     等价于1,exp时使用compress=y,再imp时空间就变了。
      

  2.   

    hrb_qiuyb(大森林)
    对于1:
     exp时,已 使用compress=y才压缩空间
    对于2:
     imp时,已 加入ignore=y选择
    对于3:
     exp时,已 使用compress=y
    空间就是不变了。
      

  3.   

    hrb_qiuyb(大森林)
    对于1:
     exp时,已 使用compress=y才压缩空间
    对于2:
     imp时,已 加入ignore=y选择
    对于3:
     exp时,已 使用compress=y
    空间就是不变.
      

  4.   

    1、方法是没问题的
    2、对于ora-01562错,你建一个大一点的回滚段供临时用,把那些小的先offline了,用后把大的这个删掉就可以了。
      

  5.   

    compress=y
    -->
     import all the records of the table into one extent so the extend is compressed .
      

  6.   

    1、对于ora-01562错,我昨天建了大一点的回滚段,把小的也offline了,但是imp后机器就重起。
    2、compress =y 只对碎片有作用,并没有改变HWM(高水平标志).所以仍原来大量空间.