你的位置:首页 > 软件开发 > 数据库 > 清理DBA_DATAPUMP_JOBS中的孤立数据泵作业

清理DBA_DATAPUMP_JOBS中的孤立数据泵作业

发布时间:2015-07-03 00:00:12
今天在重构数据库时(将表空间中的表、索引转移到其它表空间)时,发现有两个奇怪的对象SYS_EXPORT_FULL_01、SYS_EXPORT_FULL_02搜索了一下,发现这个可能是EXPDP导出异常时遗留下的对象,但是搜到的资料不多,不能确认其具体用途以及该表是否删除。后来同事 ...

今天在重构数据库时(将表空间中的表、索引转移到其它表空间)时,发现有两个奇怪的对象SYS_EXPORT_FULL_01、SYS_EXPORT_FULL_02搜索了一下,发现这个可能是EXPDP导出异常时遗留下的对象,但是搜到的资料不多,不能确认其具体用途以及该表是否删除。后来同事在metalink搜索到How To Cleanup Orphaned DataPump Jobs In DBA_DATAPUMP_JOBS ? (文档 ID 336014.1)这篇文章。了解到这些表的相关详细信息。

如下所示,SYS_EXPORT_FULL_01、SYS_EXPORT_FULL_02是一个完整的数据库导出作业,状态是NOT RUNNING,意味着作业是暂时的停止,实际上作业失败了也是NOT RUNNING状态。

SET lines 200 
COL owner_name FORMAT a10;
COL job_name FORMAT a20;
COL state FORMAT a12;
COL operation LIKE state;
COL job_mode LIKE state;
COL owner.object for a50;
 
-- locate Data Pump jobs: 
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; 

清理DBA_DATAPUMP_JOBS中的孤立数据泵作业

-- locate Data Pump master tables: 
 
SELECT o.status, o.object_id, o.object_type, 
       o.owner||'.'||object_name "OWNER.OBJECT" 
  FROM dba_objects o, dba_datapump_jobs j 
 WHERE o.owner=j.owner_name AND o.object_name=j.job_name 
   AND j.job_name NOT LIKE 'BIN$%' ORDER BY 4,2;

清理DBA_DATAPUMP_JOBS中的孤立数据泵作业

这表示以前(可能是很久以前)停止的作业,当然这些作业不可能重新启动,完全可以删除这些master表.

DROP TABLE ADMIN.SYS_EXPORT_FULL_01;

DROP TABLE ADMIN.SYS_EXPORT_FULL_02;

 

How To Cleanup Orphaned DataPump Jobs In DBA_DATAPUMP_JOBS ? (文档 ID 336014.1) 中的详细内容介绍如下所示:

 

The jobs used in this example:

原标题:清理DBA_DATAPUMP_JOBS中的孤立数据泵作业

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录