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’));


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM