因服务器硬盘空间有限,不能直接在服务器上作备份,所以我在另外一台服务器做了一个数据备份,在备份过程中存在以下问题。备份语句expdp network_link=QH directory=dd dumpfile=hd.dmp logfile=hd.log parallel=2 full=y 执行后报以下错误:(网上查了N久也没有搞清楚到底哪里错了),后来把parallel=2 去掉就没有问题了,这是怎么回事呢? 因为数据库太大好几百个G 如果把parallel=2 时间太长了,求助各位大侠了。ORA-39014: 一个或多个 worker 进程已过早地退出。
ORA-39029: worker 进程 2 (进程名为 "DW02") 过早地终止
ORA-31671: Worker 进程 DW02 有未处理的异常错误。
ORA-12801: 并行查询服务器  中发出错误信号
ORA-29913: 执行 ODCIEXTTABLEPOPULATE 调出时出错
ORA-29400: 数据插件错误KUP-04038: internal error: kupax-meta1
ORA-06512: 在 "SYS.ORACLE_DATAPUMP", line 78
ORA-06512: 在 "SYS.KUPW$WORKER", line 1343
ORA-06512: 在 line 2
作业 "SYS"."SYS_EXPORT_FULL_02" 因致命错误于 21:13:55 停止
ORA-39014: 一个或多个 worker 进程已过早地退出。

解决方案 »

  1.   

    我觉得应该是dumpfile文件少造成的。
    oracle的官方文档:
    Oracle® Database Utilities
    10g Release 2 (10.2)
    2 Data Pump Export
    PARALLEL=integer
    The value you specify for integer should be less than, or equal to, the number of files in the dump file set (or you should specify substitution variables in the dump file specifications).
    Because each active worker process or I/O server process writes exclusively to one file at a time, an insufficient number of files can have adverse effects. Some of the worker processes will be idle while waiting for files, thereby degrading the overall performance of the job.
    More importantly, if any member of a cooperating group of parallel I/O server processes cannot obtain a file for output, then the export operation will be stopped with an ORA-39095 error. Both situations can be corrected by attaching to the job using the Data Pump Export utility, adding more files using the ADD_FILE command while in interactive mode, and in the case of a stopped job, restarting the job.
    大体意思是parallel server不能在同一时间写一个dump文件,也就是说,dump文件数量应该是大于等于parallel数量的。
      

  2.   

    不知道我理解的对不对,我加了filesize可是加parallel 还是不行
      

  3.   


    增加dumpfile
    如dumpfile=file_%U.dmp