ปัญหานี้เกิดจากที่เราไม่ได้ใส่ JOB_NAME parameter ให้ DataPump Job และมันอาจจะมีชื่อ job นี้อยู่แล้วใน Database หรือเพราะเรารันหลาย jobs ในเวลาเดียวกัน (มากกว่า 99 jobs) และ DataPump ไม่สามารถสร้าง job ขึ้นมาใหม่ได้
วิธีแก้:
เราต้องเคลียร์ DataPump Job ออกด้วยการลบ Master tables ของมันดังนี้
1.ตรวจสอบ DataPump Job ที่อยู่ใน Database และมี status เป็น NOT RUNNING
SELECT owner_name, job_name, operation, job_mode,
state, attached_sessions
FROM dba_datapump_jobs
where owner_name=UPPER('&SCHEMA') and state='NOT RUNNING'
ORDER BY 1,2;
2.ตรวจสอบ Master tables ที่เกี่ยวข้อง
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=UPPER('&SCHEMA') and j.state='NOT RUNNING' ORDER BY 4,2;
3.Generate DROP TABLE จาก script ในข้อ 2
Drop table <tablename>;
ขอขอบคุณ Query statement จาก http://oracledba-duniya.blogspot.com/2013/05/resolving-ora-31634-job-already.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น