数据导入导出问题(exp 、imp),盼望高手。。。。。。。

eastpond 2005-01-04 03:05:23
e:\>imp pedis/*******@******* buffer=4096000 file=record.dmp full=y commit=y ignore=y
在命令行窗口中运行上面的命令,出现如下的错误信息。
说明:record.dmp文件大小为2G,记录数为2亿条。

. . 正在导入分区 "CM_BUSI_RECORD":"P571A" 0行被导入
. . 正在导入分区 "CM_BUSI_RECORD":"P571B" 0行被导入
. . 正在导入分区 "CM_BUSI_RECORD":"P571C" 0行被导入
. . 正在导入分区 "CM_BUSI_RECORD":"P571D"
IMP-00058: 遇到 ORACLE 错误 904
ORA-00904: 无效列名
. . 正在导入分区 "CM_BUSI_RECORD":"P571E"
IMP-00058: 遇到 ORACLE 错误 904
ORA-00904: 无效列名
IMP-00009: 导出文件异常结束
成功终止导入,但出现警告。
...全文
348 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
eastpond 2005-01-04
  • 打赏
  • 举报
回复
ignore=y参数去掉也不行
liuyi8903 2005-01-04
  • 打赏
  • 举报
回复
或者把ignore=y参数去掉.
GerryYang 2005-01-04
  • 打赏
  • 举报
回复
将原由的表drop 掉然后在导入.
liuyi8903 2005-01-04
  • 打赏
  • 举报
回复
从8i导到9i没有关系.可以直接导入.
是不是原来你的库里面已经建好的表?
eastpond 2005-01-04
  • 打赏
  • 举报
回复
我是从8I导到9I中去的,这样跟版本有关系吗?
还有一起导出的另外几个表的数据都可以顺利导进去,就是这个不行。
我刚弄oracle,exp imp 的版本怎么看?
zrb007 2005-01-04
  • 打赏
  • 举报
回复
就是版本问题,看看这个:
四、不同版本的EXP/IMP问题?

一般来说,从低版本导入到高版本问题不大,麻烦的是将高版本的数据导入到低版本中,在Oracle9i之前,不同版本Oracle之间的EXP/IMP可以通过下面的方法来解决:

1、在高版本数据库上运行底版本的catexp.sql;

2、使用低版本的EXP来导出高版本的数据;

3、使用低版本的IMP将数据库导入到底版本数据库中;

4、在高版本数据库上重新运行高版本的catexp.sql脚本。

但在9i中,上面的方法并不能解决问题。如果直接使用底版本EXP/IMP会出现如下错误:

EXP-00008: ORACLE error %lu encountered

ORA-00904: invalid column name

这已经是一个公布的BUG,需要等到Oracle10.0才能解决,BUG号为2261722,你可以到METALINK上去查看有关此BUG的详细信息。

BUG归BUG,我们的工作还是要做,在没有Oracle的支持之前,我们就自己解决。在Oracle9i中执行下面的SQL重建exu81rls视图即可。

CREATE OR REPLACE view exu81rls

(objown,objnam,policy,polown,polsch,polfun,stmts,chkopt,enabled,spolicy)

AS select u.name, o.name, r.pname, r.pfschma, r.ppname, r.pfname,

>decode(bitand(r.stmt_type,1), 0,'', 'SELECT,')

|| decode(bitand(r.stmt_type,2), 0,'', 'INSERT,')

|| decode(bitand(r.stmt_type,4), 0,'', 'UPDATE,')

|| decode(bitand(r.stmt_type,8), 0,'', 'DELETE,'),

r.check_opt, r.enable_flag,

DECODE(BITAND(r.stmt_type, 16), 0, 0, 1)

from user$ u, obj$ o, rls$ r

where u.user# = o.owner#

and r.obj# = o.obj#

and (uid = 0 or

uid = o.owner# or

exists ( select * from session_roles where role='SELECT_CATALOG_ROLE')

)

/

grant select on sys.exu81rls to public;

/

NinGoo 2005-01-04
  • 打赏
  • 举报
回复
不同版本间的exp和imp应该遵循的一个原则:

低导出版本导出,高导入版本导入
NinGoo 2005-01-04
  • 打赏
  • 举报
回复
你的数据库版本?

你的imp的版本?

可能是版本不一致造成的

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧