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

最近负责搭建某系统的用户环境,其中涉及从测试环境导入数据,由于受客观因素制约,不能使用传输表空间方法同步,因此需要用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

顺利执行导入操作了

时间: 2024-08-07 05:16:36

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

【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中

[exp/imp]将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 如何将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中(重点,2种方法)? ② 从dmp文件可以获取到哪些信息?如何从dmp文件获取到dmp文件的字符集(重点,N种方法)? ③ 如何从dmp

使用exp&imp工具进行数据库备份及恢复

使用exp&imp工具进行数据库备份及恢复1.exp/imp使用方法介绍exp/imp为一种数据库备份恢复工具,也可以作为不同数据库之间传递数据的工具,两个数据库所在的操作系统可以不同.exp可以将数据库数据导出为二进制文件,imp可以将导出的数据文件再导入到相同的数据库或不同的数据库.数据库导出有四种模式:full(全库导出).owner(用户导出).table(表导出).tablespace(表空间导出).full(全库导出):导出除ORDSYS.MDSYS.CTXSYS.ORDPLUGIN

Oracle exp/imp数据导入导出工具基本用法

一.获取帮助 exp/imp help=y 二.数据导出 1.将数据库完全导出,设置full选项exp system/[email protected] file=d:\db.dmp full=y 2.导出数据库结构,不导出数据,设置rows选项exp system/[email protected] file=d:\db.dmp rows=n full=y 3.当导出数据量较大时,可以分成多个文件导出,设置filesize选项exp system/[email protected] file=

exp/imp工具使用说解

引言 ORACLE数据库有两类备份方法. 第一类:为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且 需要极大的外部存储设备,例如磁带库: 第二类:备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以 不需要外部存储设备. 很久很久以前,Oracle就开始提供用来摄取表.模式或整个数据库的定义,然后导入到其他模式或数据的小工具:那就是exp/imp那个时候数据库规模都很小(几百M就算超大数据库

EXP/IMP迁移数据

迁移数据 注意事项: Log= 加这个是为了看有没有导入成功.这个导入导出是会100%丢失数据的.这个只能当迁移,不能做为备份. Buffer=把这个放大,一般10M,这个是为了提速的 Rows=n 不导数据 字体集NLS 这个是必须要设置的. 数据坏了显示方式:??列宽度不够,这个是立刻报错的.我就知道迁移失败了 Select * from v$nls_database_parameters; Exp  system/sys  file=/oracle/qyl.dmp  owner=qyl  

Oracle-client支持exp|imp|rman

官方精简版的驱动,不支持持exp/imp/rman,故需要安装oracle_client客户端. 实验环境: Centos6.5 x64   Oracle 11.2.0.4.0 Oracle_client     win64_11gR2_client.zip Win10 x64         PLSQL11_x64 Oracle官方下载: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.

专题实验 EXP & IMP

基本语法和实例: 1.EXP: 有三种主要的方式(完全.用户.表) 1.完全: exp icdmain/icd rows=y indexes=n compress=n buffer=65536 feedback=100000 full=y file=exp_.dmp log=exp.log 如果要执行完全导出,必须具有特殊的权限 2.用户模式: exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536 feedb

ORACLE EXP/IMP的使用详解

作者:eclipse 导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳.当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议.对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现,EXP/IMP越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具.下面说

Oracle数据库exp imp以用户来导出的实例 (转)

http://database.51cto.com/art/201004/196538.htm 以下的文章主要介绍Oracle数据库exp imp按相关的用户来导出导入相关实例,第一步我们要从一台windows服务器 A 上导出关于 Test1 这个用户的所有对象,然后导入到linux服务器 B 上的 Test2用户.(已知Test1密码为Test1passwd 或者用system用户导出也行) 2.B机器上Test2用户不存在,或Test2用户已经存在 两种情况(用户存在相对比较复杂) 如果T