Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖
1#
发表于 2015-1-31 21:02:52
odm finding:

DataPump Export Fails With Errors ORA-39125 ORA-31642 ORA-1422 (Doc ID 790988.1)        To BottomTo Bottom       

In this Document
Symptoms
Cause
Solution
APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.2.0.1 and later
Information in this document applies to any platform.
***Checked for relevance on 23-Apr-2013***
SYMPTOMS

DataPump export (EXPDP) fails with the following errors:

#> expdp system/passworde schemas=scott content=metadata_only dumpfile=scott.dmp


ORA-39125: Worker unexpected fatal error in KUPW$WORKER.UNLOAD_METADATA while calling DBMS_METADATA.FETCH_XML_CLOB []
ORA-31642: the following SQL statement fails:
BEGIN "SYS"."DBMS_SCHED_EXPORT_CALLOUTS".SCHEMA_CALLOUT(:1,1,1,'10.02.00.03.00') ; END;
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_METADATA", line 907
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 6228
----- PL/SQL Call Stack -----
object line object
handle number name
0x239ced9c 14916 package body SYS.KUPW$WORKER
0x239ced9c 6293 package body SYS.KUPW$WORKER
0x239ced9c 2339 package body SYS.KUPW$WORKER
0x239ced9c 6854 package body SYS.KUPW$WORKER
0x239ced9c 1259 package body SYS.KUPW$WORKER
0x308382a8 2 anonymous block
CAUSE

The problem is generated because DUAL table has more than one row.

To confirm the duplicate entries in DUAL table, an errorstack for error ORA-1422 was generated:

connect /as sysdba
alter system set events '1422 trace name ERRORSTACK level 3';
exit

Then re-start the export. A trace file for DataPump Worker process (DW) was generated in background_dump_dest directory:

ksedmp: internal or fatal error
ORA-01422: exact fetch returns more than requested number of rows
Current SQL statement for this session:
select dummy from dual where ora_dict_obj_type = :"SYS_B_0"

Please verify with:

connect /as sysdba
-- set the event off
alter system set events '1422 trace name ERRORSTACK off';
create table dual_01 as select * from dual;
select * from dual_01;

D
-
X
X
SOLUTION

1. Delete one row from DUAL table and drop the dummy table DUAL_01;

connect / as sysdba
delete from dual where dummy = 'X' and rownum=1;
drop table dual_01 purge;

2. Run the DataPump export again:

$ expdp system/password schemas=scott content=metadata_only dumpfile=scott.dmp


...
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_03" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_03 is:
/tmp/scott.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_03" successfully completed
       
       
Document Details

Rate this documentEmail link to this documentOpen document in new windowPrintable Page
       
Type:
Status:
Last Major Update:
Last Update:
PROBLEM
PUBLISHED
23-Apr-2013
23-Apr-2013

                  

       
Related Products

       
Oracle Database - Enterprise Edition
                  
       
Information Centers

                       
Index of Oracle Database Information Centers [1568043.2]

Information Center: Overview of Database Security Products [1548952.2]

Information Center: Overview Database Server/Client Installation and Upgrade/Migration [1351022.2]

                  
       
Document References

                No References available for this document.       
                  
       
Recently Viewed

        Datapump Export Fails With Error ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_CUBE_EXP" [1962753.1]       

        glibc vulnerability (CVE-2015-0235) patch availability for Oracle Exadata Database Machine [1965525.1]       

        Troubleshooting Assistant: Troubleshooting Performance Issues [1543445.2]       

        List of Java Objects Introduced by INITJVM.SQL in Version 11.1.x [458880.1]       

        How does the GRANT statement work? [1023659.1]       

Show More
                  

回复 显示全部楼层 道具 举报

2#
发表于 2015-1-31 21:03:09
给出如下信息的返回:

connect /as sysdba
-- set the event off
alter system set events '1422 trace name ERRORSTACK off';
create table dual_01 as select * from dual;
select * from dual_01;

回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-6-2 23:55 , Processed in 0.048501 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569