如何终止陷入 DEFINING 状态的 Oracle DataPump expdp 作业?

ole*_*ekb 5 oracle datapump

我的工作失败,因为转储文件已经存在。现在它停留在 DEFINING 状态。

我该如何阻止/杀死它?

declare
h1 number;
BEGIN
h1 := DBMS_DATAPUMP.ATTACH('EXPORT_TABLE_2017_1205_1402',user);
--DBMS_DATAPUMP.STOP_JOB (h1,1,0);
DBMS_DATAPUMP.stop_job (h1, 1);
DBMS_DATAPUMP.detach (h1);
END;
/

  2    3    4    5    6    7    8    9  declare
*
ERROR at line 1:
ORA-31626: job does not exist
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "SYS.DBMS_DATAPUMP", line 1137
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3873
ORA-06512: at line 4
Run Code Online (Sandbox Code Playgroud)

使用 expdp 获取分段错误:

 expdp stgdata@ORADB1S attach=EXPORT_TABLE_2017_1205_1402

Export: Release 11.2.0.3.0 - Production on Tue Dec 5 14:56:11 2017

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

Job: EXPORT_TABLE_2017_1205_1402
  Owner: STGDATA
  Operation: EXPORT
  Creator Privs: TRUE
  GUID: 5F9D23C27A291F20E05328C414AC3548
  Start Time: Tuesday, 05 December, 2017 14:02:38
  Mode: TABLE
  Instance: ORADB1S
  Max Parallelism: 0
  EXPORT Job Parameters:
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

知道如何杀死他们吗?

select sid, serial# from v$session where action like 'EXPORT_TABLE%';

520 1161    wait for unread message on broadcast channel
587 635     wait for unread message on broadcast channel
Run Code Online (Sandbox Code Playgroud)

尝试重新启动相同的作业:

ERROR at line 1:
ORA-31634: job already exists
ORA-06512: at "STGDATA.DELETE_EXPORT_TABLE", line 59
ORA-06512: at line 1
Run Code Online (Sandbox Code Playgroud)

Hus*_*med 0

expdp stgdata@ORADB1S attach=EXPORT_TABLE_2017_1205_1402
EXPORT> Kill_job
Run Code Online (Sandbox Code Playgroud)

您是否尝试过删除导出表?

DROP TABLE SYS.EXPORT_TABLE_2017_1205_1402;
Run Code Online (Sandbox Code Playgroud)