PR

Oracle データポンプ(datapump)停止方法

スポンサーリンク
ORACLE

Oracle Databaseツールのデータポンプはバックグラウンドで実行されるため、[Ctrl+C]では停止できません。
巨大なデータをexpdpした時に、パラメータ間違い等で停止する際には一連の停止手順が必要となります。
今回はデータポンプの停止手順を紹介したいと思います。

データポンプexpdp実行

停止手順を試すために、まずは一般的なスキーマ指定のexpdpを実行します。

[oracle@localhost]$ expdp system SCHEMAS=scott DIRECTORY=dumpdir DUMPFILE=hoge.dmp LOGFILE=hoge.log

Export: Release 11.2.0.4.0 - Production on Thu Nov 17 18:11:45 2019

Password:

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01":  system/******** SCHEMAS=scott DIRECTORY=dumpdir DUMPFILE=hoge.dmp LOGFILE=hoge.log
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 515.4 MB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
(省略)

expdpのジョブ名を確認

datapumpはジョブとして起動するので、実行されているジョブ名を確認します。

赤字で記載している箇所が実行されているジョブ名となります。

[oracle@localhost]$ sqlplus system

SQL*Plus: Release 11.2.0.4.0 Production on Thu Nov 17 18:11:56 2019

Enter password:

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

SQL> select * from dba_datapump_jobs;
OWNER_NAME JOB_NAME             OPERATION JOB_MODE  STATE         DEGREE ATTACHED_SESSIONS DATAPUMP_SESSIONS
---------- -------------------- --------- --------- --------- ---------- ----------------- -----------------
SYSTEM     SYS_EXPORT_SCHEMA_01 EXPORT    SCHEMA    EXECUTING          1                 1                 3

対話モードでジョブにアタッチ

停止するために、まずはexpdpジョブにアタッチします。

[oracle@localhost]$  expdp system ATTACH=SYS_EXPORT_SCHEMA_01

Export: Release 11.2.0.4.0 - Production on Thu Nov 17 18:11:56 2019

Password:

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

Job: SYS_EXPORT_SCHEMA_01
  Owner: SYSTEM
  Operation: EXPORT
  Creator Privs: TRUE
  GUID: 97D702BC09723432E053C8BE1EACF20A
  Start Time: Thursday, 17 November, 2019 18:11:48
  Mode: SCHEMA
  Instance: hogeinst03
  Max Parallelism: 1
  EXPORT Job Parameters:
  Parameter Name      Parameter Value:
     CLIENT_COMMAND        system/******** SCHEMAS=scott DIRECTORY=ORA_DUMP DUMPFILE=hoge.dmp LOGFILE=hoge.log
  State: EXECUTING
  Bytes Processed: 0
  Current Parallelism: 1
  Job Error Count: 0
  Dump File: /dumpdir/hoge_test.dmp
    bytes written: 4,096

Worker 1 Status:
  Process Name: DW00
  State: EXECUTING
  Object Schema: scott
  Object Name: SCOTT_DATA
  Object Type: SCHEMA_EXPORT/TABLE/TABLE
  Completed Objects: 515
  Worker Parallelism: 1
Export>

ジョブ停止コマンドを実行

ジョブにアタッチできたら、kill_jobコマンドを実行してdatapumpジョブを停止します。

Export> kill_job
Are you sure you wish to stop this job ([yes]/no): yes

[oracle@localhost]$ 

実行中のジョブがないことを確認

DBA_DATAPUMP_JOBSビューを確認して、実行中ジョブがいないことを確認します。

[oracle@localhost]$ sqlplus system

SQL*Plus: Release 11.2.0.4.0 Production on Thu Nov 17 18:12:30 2019

Enter password:

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

SQL> select * from dba_datapump_jobs;

no rows selected

expdbのログには以下の様なエラーが出力されます

Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" stopped due to fatal error at Thu Nov 17 18:12:14 2019 elapsed 0 00:00:19

以上でdatapumpジョブ停止完了です。