oracle expdp导出报错“字符串缓冲区太小”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle expdp导出报错“字符串缓冲区太小”相关的知识,希望对你有一定的参考价值。

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
;;;
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "USER"."SYS_EXPORT_TABLE_01": USER/********@BU DIRECTORY=AUTOBACKUP
DUMPFILE=S_JHD_55.dump TABLES=S_JHD_55
ORA-39126: 在 KUPW$WORKER.MAIN [] 中 Worker 发生意外致命错误
ORA-39077: 无法将代理 KUPC$A_1_20140212050402 订阅到队列 "KUPC$C_1_20140212050401"
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.KUPC$QUE_INT", line 250
ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: 在 "SYS.KUPW$WORKER", line 8160
----- PL/SQL Call Stack -----
object line object
handle number name
000000076B346050 18990 package body SYS.KUPW$WORKER
000000076B346050 8192 package body SYS.KUPW$WORKER
000000076B346050 1703 package body SYS.KUPW$WORKER
000000076B6B9C88 2 anonymous block
ORA-39097: 数据泵作业出现意外的错误 -6532
ORA-39065: DISPATCH 中出现意外的主进程异常错误
ORA-06532: 下标超出限制
作业 "USER"."SYS_EXPORT_TABLE_01" 因致命错误于 05:04:31 停止

参考技术A 你没有ORACLE账户吧,你公司要是买了付费ORACLE会给账号的,你去要一个,
我把里面关于这个的文章粘给你,不给你翻译了挺长的。
你看看Symptoms应该是你这个问题,在你的11.2.0.1.0是可以发生的。
后面有Solution

Symptoms

All of a sudden, your data pump export jobs all fail with the following bunch of errors:
Export: Release 11.2.0.3.0 - Production on Sunday, Apr 28, 22:00:26 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
ORA-31626: Job does not exist
ORA-31638: cannot attach to job Your_JOBNAME for user SYSTEM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT_INT", line 428
ORA-39077: unable to subscribe agent KUPC$A_4_220050709685000 to queue "KUPC$C_4_20130428220032"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPC$QUE_INT", line 250
ORA-06502: PL/SQL: numeric or value error: character string buffer too small

Solution

Initially, Oracle Development built a fix under Patch 16473783.
We found out that the fix was incomplete and needed to be re-written.
This is under progress and monitored via unpublished Bug 16928674.

After encountering this symptom, this is not resolved unless recreating of datapump like followings.

@$ORACLE_HOME/rdbms/admin/catdph.sql
@$ORACLE_HOME/rdbms/admin/prvtdtde.plb
@$ORACLE_HOME/rdbms/admin/catdpb.sql
@$ORACLE_HOME/rdbms/admin/dbmspump.sql
@$ORACLE_HOME/rdbms/admin/utlrp.sql
Generally speaking, we can recreate the datapump objects in 11g by calling;
1. Catproc.sql
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql

2. To recompile invalid objects, if any
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

This is described in Note 430221.1 How To Reload Datapump Utility EXPDP/IMPDP

以上是关于oracle expdp导出报错“字符串缓冲区太小”的主要内容,如果未能解决你的问题,请参考以下文章

oracle expdp导出报错,提示package不能调用

记oracle使用expdp将数据导出到asm报错

用expdp导出报错求教ORA-39126,ORA-01555

expdp导出报错ORA-39002ORA-39070解决办法

Oracle 数据访问 ORA-06512: 字符串缓冲区太小

Oracle存储过程OUT CLOB返回错误字符串缓冲区太小