日期:2014-05-16  浏览次数:20544 次

Portal所用Oracle数据库进行 exp/imp 操作时ORACLE 4068错误解决方法

一、错误情况

进行exp或者imp时,出现如下错误:

?

出现错误如下:
经由常规路径导出由EXPORT:V08.01.05创建的文件
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
导出服务器使用ZHS16GBK NCHAR 字符集 (可能的ncharset转换)
IMP-00017: 由于 ORACLE 的 4068 错误,以下的语句失败
"BEGIN??SYS.DBMS_REPCAT_MIG.PRE_IMPORT; END;"
IMP-00003: 遇到 ORACLE 错误 4068
ORA-04068: 已丢弃程序包??的当前状态
ORA-04067: 未执行,package body "SYS.DBMS_REPCAT_UTL" 不存在
ORA-06508: PL/SQL: 无法在调用之前找到程序单元
ORA-06512: 在"SYS.DBMS_REPCAT_MIG", line 116
ORA-06512: 在line 1
IMP-00000: 未成功终止导入

?

二、解决方案

?

1、登录sqlplus,执行以下命令

$ORACLE_HOME/rdbms/admin/catrepr.sql --Removes Replication related objects
$ORACLE_HOME/rdbms/admin/catrep.sql --Creates Replication related objects
$ORACLE_HOME/rdbms/admin/utlrp.sql --Recompile Invalid PL/SQL modules

?

2、如仍出现上述错误,则执行catalog.sql和catproc.sql重建数据字典

?

错误解决

1 楼 peter1407 2010-10-18  
我和你的问题一样,imp没问题,可exp时候报错。
按照你的解决方法都试过了,还是不行,而且之前的同义词也不能用了。select * from tab; 报tab的错。还有其他需要注意的么,还是我操作不对?
我登陆sqlplus 在SQL〉下 执行的 你说的那3+2个命令。之后导表,还是报一样的错误。
我是把10g的数据utf-16,导到9i上GB2312,10g到9i以前导过,字符一样是没问题的,这次是因为字符集不对吗?peter1407@sina.com,我也会常来你博克的。
请指教。谢谢。