導出報ora-31634、ora-31664

oracle手動執行導出報ora-31634、ora-31664

在服務器上通過計劃任務部署了oracle的備份任務,最近發現有個表空間沒有備份成功,手動執行後,發現報一下錯誤,百度搜索結果如下

ORA-31634: job already exists(JOB已經存在)

ORA-31664: unable to construct unique job name when defaulted(採用默認方式,不能創建唯一JOB名)

 

解決方法:

第一步:查詢生成清理DBA_DATAPUMP_JOBS的SQL語句

1 select 'drop table ' || owner_name || '.' || job_name || ';' 
2 from dba_datapump_jobs 
3 where state = 'NOT RUNNING' 

 

複製生成的處理SQL語句,進行對錶DBA_DATAPUMP_JOBS進行清理,例句如下:

...............
drop table neands3.SYS_EXPORT_SCHEMA_06;
drop table neands3.SYS_EXPORT_SCHEMA_40;
...............


第二步:清理後再次查詢確認DBA_DATAPUMP_JOBS是否清理完畢

1 SELECT owner_name, job_name, operation, job_mode, 
2 state, attached_sessions 
3 FROM dba_datapump_jobs 
4 ORDER BY 1,2;

 

第一步執行完已經可以備份了,所以沒有執行第三步。

第三步:如果清理失敗,則執行如下語句進行處理

    EXEC DBMS_DATAPUMP.STOP_JOB(DBMS_DATAPUMP_ATTACH(‘SYS_EXPORT_SCHEMA_02’,’OAK’));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章