expdp导出报错:ORA-31634 job already exists 和 ORA-31664 unable to attach to job or job does not exist

目录

一、现象描述

二、原因分析

三、解决方案

四、预防措施


一、现象描述

oracle expdp时,报错ORA-31634  job already exists ORA-31664  unable to attach to job or job does not exist.此时导出自动退出

二、原因分析

此问题本质是作业名冲突,可能是此前备份expdp时,有作业残留。一般正常作业成功完成或通过 KILL_JOB 命令正常终止 时,Oracle 会自动清理作业记录,如果作业因进程崩溃、强制终止(如 Ctrl+C)、数据库故障或网络中断 异常结束,作业记录会残留在数据字典中。

三、解决方案

删除dba_datapump_jobs表中的作业记录

输入以下语句:

SELECT 'DROP TABLE ' ||‘owner_name'||'.'|| job_name || ';' FROM dba_datapump_jobs WHERE state = 'NOT RUNNING';

生成类似语句:

DROP TABLE user1.sys_export_schema_01;

DROP TABLE user1.sys_export_schema_02;

DROP TABLE user1.sys_export_schema_17;

DROP TABLE user1.sys_export_schema_99;

复制语句后在SQLPLUS中执行,清理掉作业

四、预防措施

在导出时,显式指定作业名:expdp scott/tiger schemas=scott directory=data_pump dumpfile=scott.dmp logfile=scott.log job_name=scott_$(date +%Y%m%d%H%M%S)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值