[Oracle] expdp ORA-39006, ORA-39065 的解决办法

新公司上班第二天,接到一个任务:把生产库上的数据迁移到开发库上,当我兴致冲冲的准备用expdp导出数据时,出现如下的internal error,难怪之前的DBA放着expdp/impdp这个利器不用,一直用老的exp/imp,原来是被这个问题困扰着偷笑

ORA-39006: internal error
ORA-39065: unexpected master process exception in DISPATCH
ORA-01403: no data found

ORA-39097: Data Pump job encountered unexpected error 100

这个问题其实很容易解决,执行如下脚本重新生成DATAPUMP API用到的视图和表即可:

sqlplus / as sysdba
SQL>@$ORACLE_HOME/rdbms/admin/catmeta.sql 
SQL>@$ORACLE_HOME/rdbms/admin/catmet2.sql 
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql

现在我终于可以用expdp/impdp代替旧的exp/imp,工作效率可以提高一大截,所以说,碰到难题不要退缩,一次性解决掉后,可以极大的方便以后工作。

你可能感兴趣的:(oracle,expdp,ORA-39006,ORA-39065)