使用oracle数据泵时报ORA-39097

使用oracle数据泵时报ORA-39097


测试环境在使用impdp时报错,报错信息如下:



Import: Release10.2.0.2.0 - 64bit Production on Monday, 28 March, 2011 16:00:04



Copyright (c) 2003, 2005, Oracle. All rights reserved.



Connected to: Oracle Database10gEnterprise Edition Release10.2.0.2.0 - 64bit Production

With the Partitioning, Real Application Clusters, OLAP and Data Mining options

Master table "LINC"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded

Starting "LINC"."SYS_IMPORT_TABLE_01": linc/******** directory=DUMPDIR tables=fbdb_card dumpfile=linc_exp_fb.dmp

Processing object type SCHEMA_EXPORT/TABLE/TABLE

ORA-39097: Data Pump job encountered unexpected error -1422

ORA-39065: unexpected master process exception in DISPATCH

ORA-01422: exact fetch returns more than requested number of rows



ORA-39097: Data Pump job encountered unexpected error -1422

ORA-39065: unexpected master process exception in DISPATCH

ORA-01422: exact fetch returns more than requested number of rows



Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT

ORA-39083: Object type OBJECT_GRANT failed to create with error:

ORA-01917: user or role 'MONUSER' does not exist

Failing sql is:

GRANT SELECT ON "LINC"."FBDB_CARD" TO "MONUSER"



Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX

ORA-31684: Object type INDEX:"LINC"."FBDB_CARD_ETL_DAY" already exists

Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

ORA-39111: Dependent object type INDEX_STATISTICS skipped, base object type INDEX:"LINC"."FBDB_CARD_ETL_DAY" already exists

Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

ORA-39097: Data Pump job encountered unexpected error -1422

ORA-39065: unexpected master process exception in DISPATCH

ORA-01422: exact fetch returns more than requested number of rows





UDI-00008: operation generated ORACLE error 39078

ORA-39078: unable to dequeue message for agent KUPC$A_1_20110328160006 from queue "KUPC$S_1_20110328160005"

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95

ORA-06512: at "SYS.KUPC$QUE_INT", line 558

ORA-25205: the QUEUE SYS.KUPC$S_1_20110328160005 does not exist

ORA-06512: at "SYS.DBMS_DATAPUMP", line 2745

ORA-06512: at "SYS.DBMS_DATAPUMP", line 3712

ORA-06512: at line 1



该报错主要是因为在10g或11g版本的RAC环境中,将优化器模式设置为RULE造成的。由于RBO在10G中已不被支持,所以该报错oracle不认为是一个bug。



将优化器模式修改后,问题解决。



Alter system set optimizer_mode=’ALL_ROWS’ scope=both;





Data Pump Export Fails With ORA-39097 ORA-39065 ORA-01422 [ID 577562.1]




--------------------------------------------------------------------------------

Applies to:

Oracle Server - Enterprise Edition - Version:10.1.0.2 to 11.1.0.8 - Release: 10.1 to 11.

1
Information in this document applies to any platform.

Symptoms

Checked for relevance on10-22-2010

In a RAC database a full Data Pump export fails with:

ORA-39097: Data Pump job encountered unexpected error -1422
ORA-39065: unexpected master process exception in DISPATCH
ORA-01422: exact fetch returns more than requested number of rows

Cause

The issue is occurring when OPTIMIZER_MODE is set to RULE.

Same issue is described inBug 5928905- ORA-01422 WITH EXPDP WHEN 2 RAC
INSTANCES ARE RUNNING - closed as not a bug.

It looks like RBO gets wrong results for the query:
SELECT ATTACHED_SESSIONS FROM https://www.360docs.net/doc/737473038.html,ER_DATAPUMP_JOBS
WHERE (JOB_NAME = '' );
when OPTIMIZER_MODE=RULE.

Since RBO is not supported in10g( seeNote 189702.1) this behavior. is not considered a bug.

Solution

Change the OPTIMIZER_MODE to a supported value, for example ALL_ROWS.

References

BUG:5928905- ORA-01422 WITH EXPDP WHEN 2 RAC INSTANCES ARE RUNNING
NOTE:189702.1- Rule Based Optimizer is to be Desupported in Oracle10g


相关文档
最新文档