日期:2014-05-17  浏览次数:20760 次

还是导入和导出的问题,关于imp和exp
真的是虚心求教了。
我用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

------解决方案--------------------
那些没有导出的对象是否被分配空间,没有分配空间的表,exp是不导出;想导出这类表详细查看http://blog.csdn.net/cupid1102/article/details/7805237
------解决方案--------------------
引用:
引用:那些没有导出的对象是否被分配空间,没有分配空间的表,exp是不导出;想导出这类表详细查看http://blog.csdn.net/cupid1102/article/details/7805237
我记得以前做过一个,原数据库没有建表空间,可以用exp就全部导出了。(PS:一个表空间都没有建,都是公共表)
这个建不建表空间没关系吧,不建表空间默认用的user表空间。
------解决方案--------------------
11G Oracle 当新建表无任何数据操作的时候,默认是不分配段的,这样的话,exp是无法导出该表的,还有就是你用system导出,尽量也用system导入,还有就是没看明白的是,你所有的表都是在system表空间中呢还是有多表空间?是单独丢失一个表还是视图、函数之类也有丢失? 你可以 在导入导出时生成日志,看是导出时未导出还是导入时未执行
------解决方案--------------------
没有分配段并不是说表空间,而是没有分配存储空间的意思,不过你说视图和函数都有丢失,那你就只能在导入导出时生成日志文件,然后具体检查看看是导出的问题还是导入的问题了