在linux系统中做了crontab定时任务定时备份数据库,不知道什么原因,近期备份数据库自动中断了,也没有什么报错日志,导致产生了很多的SYS_EXPORT_SCHEMA_01、SYS_EXPORT_SCHEMA_02…,这时候就需要把这些失败的作业清除了。
SYS_EXPORT_FULL_01、SYS_EXPORT_FULL_02…是一个完整的数据库导出作业,SYS_EXPORT_SCHEMA_01、SYS_EXPORT_SCHEMA_02…不是一个完整的数据库导出作业,状态是NOT RUNNING,意味着作业是暂时的停止,实际上作业失败了也是NOT RUNNING状态。
SELECT
owner_name, job_name, rtrim(operation) "OPERATION",
rtrim(job_mode) "JOB_MODE", state, attached_sessions
FROM
dba_datapump_jobs WHERE job_name NOT LIKE 'BIN$%' ORDER BY 1, 2;
执行以上语句,如下图:
SELECT
o.status, o.object_id, o.object_type, o.owner || '.' || object_name "OWNER.OBJECT"
FROM
dba_objects o, dba_datapump_jobs dj
WHERE
o.owner = dj.owner_name AND o.object_name = dj.job_name
AND dj.job_name NOT LIKE 'BIN$%' ORDER BY 4, 2;
执行以上语句,查看作业的master表,如下图:
这表示以前(可能是较早以前)停止的作业,然而这些作业是不可能重新启动了,所以完全可以删除这些master表。使用下面语句可以进行删除(具体情况得根据自己实际情况来修改),如图:
drop table NC65PROD.SYS_EXPORT_FULL_01;
drop table NC65PROD.SYS_EXPORT_SCHEMA_01;
查看是否删除成功,如图: