前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >exp/imp碰到的两则问题处理(ORA-00904和the objects were exported by ABC not by you)

exp/imp碰到的两则问题处理(ORA-00904和the objects were exported by ABC not by you)

作者头像
bisal
发布2019-01-29 11:56:30
9970
发布2019-01-29 11:56:30
举报

最近负责搭建某系统的用户环境,其中涉及从测试环境导入数据,由于受客观因素制约,不能使用传输表空间方法同步,因此需要用imp/exp或数据泵的方法,这里采用的是imp/exp。下面记录操作过程中碰到的问题。

问题1:exp导出时ORA-00904: "IFREEPOOL": invalid identifier和"OLEVEL": invalid identifier错误

第一次操作时:

用于执行imp/exp的版本是:10.2.0.4

用于导出的数据库版本是:10.2.0.3

执行exp abc/xxx file=test.dmp log=exp_test.log

过程中有一些报警:

EXP-00008: ORACLE error 904 encountered ORA-00904: "IFREEPOOL": invalid identifier ... EXP-00008: ORACLE error 904 encountered ORA-00904: "OLEVEL": invalid identifier

...

EXP-00000: Export terminated unsuccessfully

这篇MOS文章(726182.1)介绍了这种问题的原因:

如果源库是10.2.0.3,那么导出客户端需要是10.2.0.3版本,主要原因在于导出工具会一直访问数据字典对象,例如SYS.EXU9LOG,但10.2.0.4中引入了一个新列“IFREEPOOL“,10.2.0.3中没有此列信息,因此不能操作。

从这里可以看出问题可能出在对LOB对象的表操作,workaround就是使用10.2.0.3及以下版本。于是这使用了10.2.0.1版本,导出没有如上的报错了。

问题2:导入时Warning: the objects were exported by ABC not by you未导入任何对象

执行imp xyz/xxx file=test.dmp log=imp_test.log ignore=y commit=y buffer=300000000 feedback=10000

过程中提示:

Warning: the objects were exported by ABC, not by you ... import done in ZHS16GBK character set and AL16UTF16 NCHAR character set . importing RTCRM's objects into UAT_RTCRM Import terminated successfully without warnings.

没有任何对象导入到目标库。

上面的错误内容Warning: the objects were exported by RTCRM, not by you,指的是即将导入的数据属于ABC用户,但导入时使用的是XYZ用户,因此需要对于这种导入导出用户名不同的情况,可以明确指定用户名称,执行:

imp xyz/xxx file=test.dmp log=imp_test.log fromuser=abc touser=xyz ignore=y commit=y buffer=300000000 feedback=10000

顺利执行导入操作了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年09月06日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档