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

2014-11-24 09:48:22 · 作者: · 浏览: 0
[ Oracle] expdp ORA-39006, ORA-39065的解决办法
新公司上班第二天,接到一个任务:把生产库上的数据迁移到开发库上,当我兴致冲冲的准备用expdp导出数据时,出现如下的internal error,难怪之前的DBA放着expdp/impdp这个利器不用,一直用老的exp/imp,原来是被这个问题困扰着。
[sql] 
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用到的视图和表即可:
[sql] 
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,工作效率可以提高一大截,所以说,碰到难题不要退缩,一次性解决掉后,可以极大的方便以后工作。