Oracle-expdp报错ORA-39077、06502(Bug-16928674)

问题:

用户在使用expdp进程导出时,出现队列报错ORA-39077、ORA-06502

复制代码
ORA-31626: job does not exist
ORA-31638: cannot attach to job SYS_EXPORT_SCHEMA_01 for user SYS
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_1_100518811923000 to queue "KUPC$C_1_20230727100518"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPC$QUE_INT", line 254
ORA-06502: PL/SQL: numeric or value error: character string buffer too small

问题处理:

该问题是Bug 16928674所导致,12.2.0.1以下数据库版本都会受此影响

由于expdp执行次数过多导致作业队列所所调用的序列当前值超过6位,会触发该bug

可以通过查询序列的当前值,确认是否匹配该问题

复制代码
set linesize 400
set numwidth 40
select sequence_owner,sequence_name,MIN_VALUE,MAX_VALUE,INCREMENT_BY,LAST_NUMBER
from dba_sequences
where sequence_name='AQ$_KUPC$DATAPUMP_QUETAB_N';

修复方法:

1 应用补丁16928674进行修复

or

2 重键datapump组件的数据字典

复制代码
@$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
相关推荐
潇凝子潇3 分钟前
MySQL Redo Log 和 Undo Log 满了会有什么问题
数据库·mysql
Cx330❀3 分钟前
《Linux基础入门指令》:从零开始理解Linux系统
linux·运维·服务器·经验分享
error:(41 分钟前
【Linux命令从入门到精通系列指南】export 命令详解:环境变量管理的核心利器
linux·运维·服务器
Yeats_Liao1 小时前
遗留系统微服务改造(四):从单体到微服务的演进之路
运维·微服务·架构
2301_793167991 小时前
网络管理部分
linux·运维·服务器·网络·php
序属秋秋秋1 小时前
《Linux系统编程之入门基础》【Linux的前世今生】
linux·运维·服务器·开源·unix·gnu
搬砖的小码农_Sky1 小时前
Windows操作系统上`ping`命令的用法详解
运维·网络·windows
周杰伦_Jay2 小时前
【Homebrew安装 MySQL 】macOS 用 Homebrew 安装 MySQL 完整教程
数据库·mysql·macos
悟能不能悟7 小时前
redis的红锁
数据库·redis·缓存
YC运维7 小时前
Dockerfile实战案例详解
运维·docker·容器