expdp:ORA-31634: job already exists

測試通過:expdp:ORA-31634: job already exists

問題描述:
使用數據泵進行全備,由於user的表空間不足導致備份失敗,添加user表空間,清理空間後再次進行備份報如下錯誤:
 
With the Partitioning, OLAP and Data Mining options
ORA-31634: job already exists
ORA-31664: unable to construct unique job name when defaulted

58ffe4c9565ba721a4ca690a17de84d34a9bf6ecdc6a4a9e0443b14d0cf38268
5814b8610909e5849b8f1a93736a2b1df94d98dc8d9985a62061cc1ab3bb6384

解決方法:
1.     在備份時指定一個在dba_datapump_jobs中沒有不存在的一個job_name
2.     清理dba_datapump_jobs表
1)查詢可以清理的master table並生成SQL
 
select 'drop table ' || owner_name || '.' || job_name || ';'
 from dba_datapump_jobs
 where state = 'NOT RUNNING'
2)清理後再次dba_datapump_jobs確認清理成功
SELECT owner_name, job_name, operation, job_mode,
state, attached_sessions
FROM dba_datapump_jobs
ORDER BY 1,2;
若不成功,按下面的方法再次清理
sqlplus oak/oak
exec dbms_datapump.stop_job(dbms_datapump_attach(‘SYS_EXPORT_TABLE_01’,’OAK’));
3、如果還不行,就用下面的方法:
select 'drop table system.sys_export_schema_'||lpad(level,2,'0')||';' from dual connect by level<=99;
該語句會生成一些sql語句,直接粘貼這些新生成的語句就可以了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章