新公司上班第二天,接到一个任务:把生产库上的数据迁移到开发库上,当我兴致冲冲的准备用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,工作效率可以提高一大截,所以说,碰到难题不要退缩,一次性解决掉后,可以极大的方便以后工作。