真的是虚心求教了。
我用system将原数据库导出,用的exp语句:exp system/password@sid file=c:XXX.dmp full=y rows=n
(PS:我不知道为什么用sys就不行)
原数据中有很多表用户及表空间。
在本地新建数据库,用PL\SQL工具将原数据库的用户、表空间导出script,再用toad执行script导入新数据库。
然后用imp语句导入导出的dmp文件:imp sys/password@newsid file=c:\XXX.dmp full=y
但是总是有问题,好多用户下的对象没有。
不知道我的步骤对不对。
或者哪位牛人能知道我一下具体应该怎么去做。数据库工具system

解决方案 »

  1.   

    那些没有导出的对象是否被分配空间,没有分配空间的表,exp是不导出;想导出这类表详细查看http://blog.csdn.net/cupid1102/article/details/7805237
      

  2.   


    我记得以前做过一个,原数据库没有建表空间,可以用exp就全部导出了。(PS:一个表空间都没有建,都是公共表)
      

  3.   

    这个建不建表空间没关系吧,不建表空间默认用的user表空间。
      

  4.   

    那还有什么办法呢?在我导dmp文件之前我只先建好了用户和表空间,还需要建别的吗?
      

  5.   

    11G Oracle 当新建表无任何数据操作的时候,默认是不分配段的,这样的话,exp是无法导出该表的,还有就是你用system导出,尽量也用system导入,还有就是没看明白的是,你所有的表都是在system表空间中呢还是有多表空间?是单独丢失一个表还是视图、函数之类也有丢失? 你可以 在导入导出时生成日志,看是导出时未导出还是导入时未执行