一、问题现象
先drop user aboss cascade删除数据库用户后,拷贝aboss.dmp文件放在DIRECTORY=EXP_DIR配置所指的目录下后,运行如下指令:
impdp system/'***' DIRECTORY=EXP_DIR DUMPFILE=aboss.dmp LOGFILE=aboss.log schemas=ABOSS报错如下:Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEXORA-39014: One or more workers have prematurely exited.ORA-39029: worker 1 with process name "DW01" prematurely terminatedORA-31672: Worker process DW01 died unexpectedly.Job "SYSTEM"."SYS_IMPORT_SCHEMA_02" stopped due to fatal error at 18:51:03二、详细操作步骤
源端(cfzqrac_2_21)和目标端(cfzqlscx_1_37)所使用操作系统分别是LINUX AS 4和Oracle Linux Server release 5.8,ORACLE版本都是10G的10.2.0.5.0。在cfzqlscx_1_37上用以下指令从cfzqrac_2_21导入数据到数据库(不落地):$impdp system/'***' network_link=cfzqrac_2_21 schemas=ABOSS再在cfzqlscx_1_37上用以下指令从cfzqrac_2_21导出aboss.dmp到cfzqlscx_1_37指定目录,得到aboss.dmp文件:$expdp system/'***' network_link=cfzqrac_2_21 directory=exp_dir dumpfile=aboss.dmp logfile=aboss.log schemas=ABOSS然后将aboss.dmp文件拷贝到testdb_19_31的指定目录,并在testdb_19_31上用以下指令导入:impdp system/'***' DIRECTORY=EXP_DIR DUMPFILE=aboss.dmp LOGFILE=aboss.log schemas=ABOSS,结果报上述错误了。三、解决办法
解决问题的办法是:不使用expdp远程导出到本地的DMP文件。在cfzqlscx_1_37上使用如下指令导出到本地的指定目录:
expdp system/'***' directory=exp_dir dumpfile=aboss.dmp logfile=aboss.log schemas=ABOSS再把aboss.dmp文件拷贝到testdb_19_31上做数据导入,就没有上述报错了!