设为首页 收藏本站
查看: 474|回复: 0

[经验分享] ORACLE 向不同的表空间导入dmp

[复制链接]
YunVN网友  发表于 2016-8-15 07:21:53 |阅读模式
最近在导入导出dmp文件上费了一番周折。总结了点经验,和大家分享一下:
目的:将一个表空间的数据导入另一个表空间。
情况:1、两个表空间在一个数据库上,表都导入了原来的表空间。
      2、要导入的数据库上没有原来的表空间,部分导入了导入用户的默认表空间,部分无            法导入,假如用户没有设置默认表空间则导入users表空间。

解决:
方法一:可以将导出的dmp文件用UE打开,用16进制编辑器编辑,将原来的表空间名换成将要导入的表空间名并保存,然后通过imp进行导入,假如导出用户和导入用户不同,在导入时要指定fromuser,touser (当然直接在dmp文件中替换了也是可以的),这种方法比较简单,经测试成功,但对于较大的dmp文件就不适用了。
方法二:可以先导入建表的sql(这里需要注意导出sql时不支持clob字段,用pl/sql dev导出nvarchar2(225)又无法导出,所以建议使用pl/sql dev导出用户对象),然后将sql中的表空间名,用户名替换执行即可建表。然后再导入dmp文件,导入时可以忽略错误,但不知道为什么一些因为有外键的会无法导入(这个导入顺序上个人觉得orcle不会这么傻啊),没办法,只能导两次了。

导入时遇到的问题:
问题一:
imp导入中报错:
IMP-00058: 遇到 ORACLE 错误 12592
ORA-12592: TNS: 包错误
IMP-00058: 遇到 ORACLE 错误 1013
ORA-01013: 用户请求取消当前的操作
然后imp报异常退出。
当时是远程导入的,最终没有知道是为什么,在本地导没有出现这种情况,而且当时导了六个,只有这一个会出现这种错误,求解。
问题二:
导入中途净报表空间不够,表导出之前都是清过的。dmp总共大小不超过50m,当时感到这个错误很莫名其妙,几次周折终于发现有的表创建时的初始大小就超过1G,索引也有几百兆,shit!!改小了,成功导入(好像oracle就这么规定的吧,表的大小会按增长到最大的时候的大小,即使数据删了它也会保留这个大小)
问题三:
导入后发现少了几个表,但在导入导出时都没有发生错误,后来发现没导出的表都是没有数据的,经过google知道这是oracle11的特性,当表无数据时,不分配segment,以节省空间
解决方法:
1、insert一行,再rollback就产生segment了。
该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。
2、设置deferred_segment_creation 参数
该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。
3、用impdp呵expdp工具导吧,怎么导看这吧:
http://space.itpub.net/119501/viewspace-623472


OK,这是最近遇到的问题。有错误希望大家提出,共同进步!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-257925-1-1.html 上篇帖子: Oracle一个典型行列转换的几种实现方法 下篇帖子: 如何处理Oracle中TEMP表空间满的问题?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表