服务器上数据泵定时备份任务失败,查看日志报错如下:
[oracle@hs02 log]$ more expdp_bi_2019-11-02.log
Export: Release 11.2.0.4.0 - Production on 星期六 11月 2 00:00:03 2019
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-31634: 作业已存在
ORA-31664: 如果采用默认值, 将无法构造唯一的作业名
tar: bi-2019-11-02*:无法 stat: 没有那个文件或目录
tar: 由于前次错误,将以上次的错误状态退出
-rw-r--r-- 1 oracle oinstall 557 10月 21 00:00 ./expdp_bi_2019-10-21.log
查找资料,解决方法如下:
第1步:查询生成清理DBA_DATAPUMP_JOBS的SQL语句
SQL> SELECT 'DROP TABLE ' || OWNER_NAME ||'.'|| JOB_NAME ||';' FROM DBA_DATAPUMP_JOBS WHERE STATE='NOT RUNNING';
'DROPTABLE'||OWNER_NAME||'.'||JOB_NAME||';'
-------------------------------------------------------------------------
DROP TABLE SYSTEM.SYS_EXPORT_SCHEMA_01;
DROP TABLE SYSTEM.SYS_EXPORT_SCHEMA_02;
DROP TABLE SYSTEM.SYS_EXPORT_SCHEMA_19;
DROP TABLE SYSTEM.SYS_EXPORT_SCHEMA_03;
DROP TABLE SYSTEM.SYS_EXPORT_SCHEMA_04;
DROP TABLE SYSTEM.SYS_EXPORT_SCHEMA_05;
DROP TABLE SYSTEM.SYS_EXPORT_SCHEMA_06;
DROP TABLE SYSTEM.SYS_EXPORT_SCHEMA_07;
DROP TABLE SYSTEM.SYS_EXPORT_SCHEMA_08;
已选择8行。
执行SQL
第2步: 清理后再次查询确认DBA_DATAPUMP_JOBS是否清理完毕
SQL> SELECT OWNER_NAME, JOB_NAME, OPERATION, JOB_MODE,STATE, ATTACHED_SESSIONS FROM DBA_DATAPUMP_JOBS ORDER BY 1,2;
未选定行
PS:如果清理失败,则执行如下语句进行处理
EXEC DBMS_DATAPUMP.STOP_JOB(DBMS_DATAPUMP_ATTACH(‘SYS_EXPORT_SCHEMA_02’,’OAK’));