星期日, 九月 10, 2006

oracle 942错误

Imp正常,但Exp却无法完成
==============================
前日晚上准备对刚刚启用的Unix环境Oracle数据库做一次Exp逻辑备份,报如下错误:
EXP-00056: ORACLE error 942 encountered
ORA-00942: table or view does not exist
EXP-00000: Export terminated unsuccessfully
感觉很奇怪,因为数据库中的数据就是通过Imp转移来的,怎么这里的Exp不能用了呢?上网搜了一下,发现这个问题还并不鲜见,找到一篇文章解 释为Oracle本身的一个bug,发生在从920升级到9206以后,因此建议在升级后用Exp命令来检验升级是否真正成功,但事已至此,我又检查了测 试环境和开发环境,发现都有这样的我问题,于是根据作者提供的方法,执行了/rdbms/admin/catpatch.sql脚本,然后手动编译了 sys schema下的所有package,再使用Exp命令导出数据就可以了,具体命令如下:
SQL>shutdown immediate;
SQL>startup migrate;
SQL>@?/rdbms/admin/catpatch.sql
SQL>shutdown immediate;
SQL>startup;

========================

XP-00056: 遇到 ORACLE 错误 942

ORA-00942: 表或视图不存在

EXP-00000: 导出终止失败

解决办法:报此错误并不是因为你的权限不够,也不是因为你的命令有误,而是ORACLE本身的问题,是由于你的客户端版本低于服务器端的版本造成的。最好的办法就是装一个与服务器端版本相同客户端。要不就到服务器端去导吧。


没有评论: