oracle报错7001,Oracle 10g expdp导出报错ORA-4031的解决方法

数据库是10.2.0.4 操作系统是aix,在执行expdp导出多个方案对象时报ORA-39014,ORA-39029,ORA-31671,ORA-39079,ORA-06512,ORA-0403

数据库是10.2.0.4 操作系统是aix,在执行expdp导出多个方案对象时报ORA-39014,ORA-39029,ORA-31671,ORA-39079,ORA-06512,ORA-04031:错误信息如下:

Export: Release 10.2.0.4.0 - 64bit Production on Monday, 17 February, 2014 9:46:52

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

;;;

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

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

Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01": system/******** directory=dump_RLZY dumpfile=ybcwfull_140217_0946.dmp logfile=ybcwfull_140217_0946.log schemas=ZW

1001,ZW1002,ZW1003,ZW1004,ZW1005,ZW1006,ZW1101,ZW1102,ZW1103,ZW1104,ZW1105,ZW1106,ZW1201,ZW1202,ZW1203,ZW1204,ZW1205,ZW1206,ZW1301,ZW1302,ZW1303,ZW1304,ZW13

05,ZW1306,ZW2001,ZW2002,ZW2003,ZW2004,ZW2005,ZW2006,ZW3001,ZW3002,ZW3003,ZW3004,ZW3005,ZW3006,ZW4001,ZW4002,ZW4003,ZW4004,ZW4005,ZW4006,ZW5001,ZW5002,ZW5003

,ZW5004,ZW5005,ZW5006,ZW6001,ZW6002,ZW6003,ZW6004,ZW6005,ZW6006,ZW7001,ZW7002,ZW7003,ZW7004,ZW7005,ZW7006,ZW8001,ZW8002,ZW8003,ZW8004,ZW8005,ZW8006,ZW9001,Z

W9002,ZW9003,ZW9004,ZW9005,ZW9006,ZW9999

Estimate in progress using BLOCKS method...

Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 997.3 MB

Processing object type SCHEMA_EXPORT/USER

Processing object type SCHEMA_EXPORT/SYSTEM_GRANT

Processing object type SCHEMA_EXPORT/ROLE_GRANT

Processing object type SCHEMA_EXPORT/DEFAULT_ROLE

Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE

Processing object type SCHEMA_EXPORT/TABLE/TABLE

Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX

Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

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

Processing object type SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC

Processing object type SCHEMA_EXPORT/FUNCTION/FUNCTION

Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE

Processing object type SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC

Processing object type SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION

Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE

Processing object type SCHEMA_EXPORT/VIEW/VIEW

Processing object type SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY

Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT

Processing object type SCHEMA_EXPORT/TABLE/TRIGGER

Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

..................

. . exported "ZW9005"."GLSP_KMYS_TEMP" 0 KB 0 rows

. . exported "ZW9005"."GLSP_KMZJS_TEMP" 0 KB 0 rows

. . exported "ZW9005"."GLSP_KMZXFX_TEMP" 0 KB 0 rows

. . exported "ZW9005"."GLSP_PZYJZ_TEMP1" 0 KB 0 rows

. . exported "ZW9005"."GLSP_PZYJZ_TEMP2" 0 KB 0 rows

. . exported "ZW9005"."GLSP_PZYJZ_TEMP3" 0 KB 0 rows

. . exported "ZW9005"."GLSP_PZYJZ_TEMP4" 0 KB 0 rows

. . exported "ZW9005"."GLSP_PZYJZ_TEMP5" 0 KB 0 rows

. . exported "ZW9005"."GLSP_PZYJZ_TEMP6" 0 KB 0 rows

ORA-39014: One or more workers have prematurely exited.

ORA-39029: worker 1 with process name "DW01" prematurely terminated

ORA-31671: Worker process DW01 had an unhandled exception.

ORA-39079: unable to enqueue message DG,KUPC$C_1_20140217094653,KUPC$A_1_20140217094654,MCP,50443,Y

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

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

ORA-04031: unable to allocate 2072 bytes of shared memory ("streams pool","unknown object","streams pool","kodpaih3 image")

ORA-06512: at "SYS.KUPW$WORKER", line 1397

ORA-06512: at line 2

Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" stopped due to fatal error at 10:28:18

从错误信息中可以看到ORA-04031: unable to allocate 2072 bytes of shared memory ("streams pool","unknown object","streams pool","kodpaih3 image")

从字面上理解是在给streams pool分配内存时出错造成的,MOS上有一篇文件档

DataPump Export (EXPDP) Fails With Error ORA-4031 ("streams pool", ...) (文档 ID 457724.1)

In this Document

Symptoms

Cause

Solution

References

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

Applies to:

Oracle Database - Enterprise Edition - Version 10.1.0.2 and later

Information in this document applies to any platform.

***Checked for relevance on 16-MAY-2012***

Symptoms

DataPump export (EXPDP) reports the following errors:

ORA-31626: job does not exist

ORA-31637: cannot create job SYS_EXPORT_FULL_01 for user SYSTEM

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

ORA-06512: at "SYS.KUPV$FT_INT", line 600

ORA-39080: failed to create queues "KUPC$C_1_20070823095248" and "KUPC$S_1_20070

823095248" for Data Pump job

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

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

ORA-04031: unable to allocate 4194344 bytes of shared memory ("streams pool","unknown object","streams pool","fixed allocation callback

Cause

The problem seems initially caused by having set the STREAMS_POOL_SIZE instance parameter to 0.

The first argument of the ORA-4031 error message also indicates a problem with the Streams pool.

The streams pool is used exclusively by Oracle Streams, see #CNCPT1235

Also, Data Pump export and import operations initialize the Oracle Streams pool because these operations use buffered queues.

For information about the streams pool, refer to #STREP202

The size of the streams pool grows dynamically as required by Oracle Streams.

The (initial) size also depends on usage of ASMM, AMM or manual (minimum) settings.

That means that the parameter STREAMS_POOL_SIZE=0 is not the real root cause but the memory management cannot provide the automatic increase for the DataPump action at this time.

Setting STREAMS_POOL_SIZE>0 will guarantee a minimum size for the streams pool when using ASMM or AMM, hence avoiding the ORA-4031.

Solution

Set the STREAMS_POOL_SIZE instance parameter to at least 48MB to guarantuee a minimum size using:

SQL>connect / as sysdba

SQL> show parameter stream

NAME TYPE VALUE

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

streams_pool_size big integer 0

SQL>alter system set streams_pool_size=48m scope=both

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ORA-39002是Oracle数据库的错误代码,与使用expdp命令导出数据时出现的问题有关。在Windows操作系统下,可能会遇到ORA-39002错误的多种情况。下面是几种常见的情况及其解决方法: 1. 数据库连接问题:首先要确保可以成功连接到Oracle数据库。可以使用sqlplus命令测试连接是否正常。如果连接失败,可能是数据库参数配置或者网络问题。需要检查数据库参数是否正确,并确保网络连接正常。 2. 导出目录权限问题:在执行expdp命令时,需要指定一个目录作为导出文件的存放位置。如果导出目录没有正确设置权限,也可能导致ORA-39002错误。应该确保导出目录所属用户具有写入权限,并且确认目录是否存在。 3. 数据库版本不兼容:在导出数据时,可能会由于数据库版本不兼容导致ORA-39002错误。此时需要检查Oracle数据库版本是否支持当前使用的expdp命令版本。如果版本不兼容,可以尝试升级数据库或使用对应版本的expdp命令。 4. 参数配置错误:在执行expdp命令时,需要指定一些参数,如导出的表名、导出的数据类型等。如果参数配置不正确,可能会导致ORA-39002错误。应该仔细检查expdp命令中的参数是否正确,并根据需要进行修改。 总之,遇到ORA-39002错误时,首先需要检查数据库连接是否正常,然后检查导出目录权限和数据库版本兼容性,最后确认参数配置是否正确。根据具体情况进行排查和解决,即可解决ORA-39002错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值