Thinking ...

记录所见,所思,所悟...

导航

迁移Oracle9i(Linux to Windows)

      因业务需要,迁移Linux数据库到Window下。
环境:
   数据库: oracle 9i
   OS系统:
         源机 RedHat ASE3 --A机
        目的机 Win2k         --B机
步骤:
      1.B机上安装数据库。
     2.B机DB中建立用户C,赋予resource和connect权限。
    3.A机DB sys用户导出(以用户形式)C用户数据。
    4.B机DB sys用户导入(以用户形式)上个步骤的导出数据。
问题:
   导入后,索引和表,均被放到system表空间,需要移动到别的空间(用户自己的空间)
解决办法:
     Google了一下,如下方案
 1.导出后重新导入
   1).把该用户dump出来
   2).drop user *** cascade;
   3).新建一个tablespace
   4).重建该用户,并赋予相应权限,然后改该用户默认表空间为新建表空间
   5).imp该用户入库
   相关参考:
    首先,收回目的用户的"UNLIMITED TABLESPACE"权限:
    revoke unlimited tablespace from username;
    其次,取消目的用户在原数据导出表空间中的配额,这样才能迫使IMP把数据导入到用户的默认表空间中去。
    然后,将希望导入的表空间设为目的用户的默认表空间,并添加配额。
    最后,执行IMP。

  2.Toad Rebuild Multiple Objects
    对错放的indexs,tables进行Rebuild.
还是方案2简单,驾起Toad Rebuild一下相关资源。不过,注意检查,有些Index需要重新Combile.

posted on 2005-08-30 21:59  barry  阅读(518)  评论(0编辑  收藏  举报