客户在执行expdp备份操作完成后收到如下报错:
作业 "SUNFCBP"."SYS_EXPORT_SCHEMA_01" 已于 星期三 5月 13 20:25:19 2015 elapsed 0 00:01:21 成功完成
ORA-39097: 数据泵作业出现意外的错误 -12805
ORA-39065: MAIN 中出现意外的主进程异常错误
ORA-12805: 并行查询服务器意外停止
作业 "SUNFCBP"."SYS_EXPORT_SCHEMA_01" 已经完成, 但是有 2 个错误 (于 星期三 5月 13 20:30:50 2015 elapsed 0 00:06:52 完成)
expdp的版本是11.2.0.4.0,解释这个原因参考了如下MOS文章:
IMPDP Job Failing With ORA-39065, ORA-12805 (文档 ID 1490265.1)
In this Document
| Symptoms |
| Cause |
| Solution |
APPLIES TO:
Oracle Server - Enterprise Edition - Version 11.2.0.1 and laterInformation in this document applies to any platform.
-- RAC Environment
-- Dumpfile located on a non shared file system
SYMPTOMS
Attempting to do a Datapump import into a RAC database results in the following errors being raised:
ORA-39065: unexpected master process exception in MAIN
ORA-12805: parallel query server died unexpectedly
CAUSE
The root cause of this is that the dumpfile was not on a shared filesystem and this was a 3 node RAC environment. After 11.2 you either need to have the dumpfile on a shared filesystem or specify the CLUSTER=NO IMPDP command line option.
To force Datapump Import to use only the instance where the job is started and to replicate pre-11.2 behavior, specify CLUSTER=NO. This will prevent Datapump from allocating worker processes on the other instances in the RAC cluster.
SOLUTION
Set CLUSTER=NO as if using a non-shared destination for the dumpfile. See also the "CLUSTER" command line option definition in the Utilities manual, which specifies:
CLUSTER
Default: YES
Purpose: Determines whether Data Pump can use Oracle Real Application Clusters (Oracle RAC) resources and start workers on other Oracle RAC instances.
备份数据库是个RAC环境,但是expdp工具备份目的地(也就是dmp文件存放位置)不是在RAC所有节点都可访问,expdp默认是可能并行备份的,也就是说可能多个节点一起备份数据库,由于其他节点无法访问dmp文件的备份位置,所有就报这个错了。解决办法是在执行expdp的时候加上cluster=no,强制不并行备份,默认是Yes。
--end--