При частом использовании датапампа возможно возникновение ошибок следующего вида:
ORA-31634: job already exists
ORA-31664: unable to construct unique job name when defaulted
Причина в следующем:
Системные таблицы относящиеся к старым заданиям датапампа не были удалены.
"This error normally occurs when you do not specify a unique JOB_NAME for the DataPump job and for some reason that JOB_NAME already exists in the database, or else if you are running many jobs at the same time (more than 99 jobs) and DataPump cannot create a new job." (MOS)
Для решения проблемы:
1. Найти неработающие задания ДП.
SELECT owner_name, job_name, operation, job_mode,
state, attached_sessions
FROM dba_datapump_jobs
where owner_name='SCHEMA' and state='NOT RUNNING'
ORDER BY 1,2;
2. Найти соответствующие этим заданиям системные таблицы.
SELECT o.status, o.object_id, o.object_type,
o.owner||'.'||object_name "OWNER.OBJECT",o.created,j.state
FROM dba_objects o, dba_datapump_jobs j
WHERE o.owner=j.owner_name AND o.object_name=j.job_name
and o.owner='SCHEMA' and j.state='NOT RUNNING' ORDER BY 4,2;
3. Удалить эти таблицы
Drop table <tablename>;
Комментарии
Отправить комментарий