Oracle

[Oracle] ORA-31640: unable to open dump file "....../scott.dmp" for read

bbugge 2021. 11. 19. 16:40

// Oracle version 19.12.0.0.0

// ORA-39002: invalid operation

// ORA-39000: bad dump file specification
// ORA-31640: unable to open dump file "....../scott.dmp" for read
// ORA-27037: unable to obtain file status
// Linux-x86_64 Error: 2: No such file or directory
// Additional information: 3

장애현상 : impdp 명령어를 하고자 하면 아래 에러를 띄움.

"ORA-39002: invalid operation
ORA-39000: bad dump file specification
ORA-31640: unable to open dump file "....../scott.dmp" for read
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3"
 

장애원인 : impdp 도중 user 요청에 의해 cancel 됐을 때 발생하는데 dump file이 채 만들어지기 전에 cancel을 하게되면 이 같은 현상이 일어남.

 

해결방법 : 

SQL> col owner_name for a10

col job_name for a10

col operation for a10

col job_mode for a10

col state for a20

select owner_name, job_name, operation, job_mode, state from dba_datapump_jobs;

 

위 명령어로 State가 "NOT RUNNING" 중인 job을 확인 후 해당 job의 owner_name(impdp를 실행한 계정으로 접속하여 job_name  값으로 dba_objects의 object_name과 일치하는 테이블이 존재하는 것을 확인 후 지워준다.

 

SQL> col owner for a10

col object_name for a10

col object_type for a10

col status for a10

select owner,object_name,object_type,status

from dba_objects

where object_name = UPPER('&job_name');

 

SQL > drop table <object_name> purge;