执行expdp/impdp操作时,如果中途发现执行错误或者其他原因需要取消时,有些可能直接通过ctrl+c或者关闭操作窗口进行取消。但实际上,使用以上操作取消后,expdp/impdp任务进程并未真正的关闭,它仍然在运行。
那如何查看expdp与impdp是否停止,又如何停止呢?
那首先,以sysdba的身份进入到sqlplus并连接进行导出任务的实例。查询dba_datapump_jobs视图,查看当前是否有导出导入任务,它的状态又是什么样的。
查询语句:select job_name,state from dba_datapump_jobs;
例如:
JOB_NAME STATE ------------------------------------------------------------ SYS_IMPORT_FULL_01 EXECUTING SYS_EXPORT_FULL_01 NOT RUNNING SYS_EXPORT_FULL_02 NOT RUNNING
上面查询结果中,标蓝色的IMPORT表示是导入的任务,EXPORT表示是导出任务。
STATE中的EXECUTING表示当前对应的任务正在执行,NOTRUNNING说明未运行。而要停止正在运行的任务,要如何操作呢。
比如要停止上面的SYS_IMPORT_FULL_01任务。
操作如下:
C:\Users\Administrator> impdpsystem/****** attach=SYS_IMPORT_FULL_01 Import: Release 11.2.0.4.0 - Production on 星期五 3月 13 16:38:05 2020 Copyright (c) 1982, 2011, Oracle and/or itsaffiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise EditionRelease 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Miningand Real Application Testing options 作业: SYS_IMPORT_FULL_01 所有者: SYSTEM 操作: IMPORT 创建者权限: TRUE GUID: 038EFD72740A4B409AD8314FCD79126F 开始时间: 星期五, 13 3月, 202016:14:00 模式: FULL 实例: orcl 最大并行度: 1 EXPORT 个作业参数: 参数名 参数值: CLIENT_COMMAND system/******** directory=DPDATA02 dumpfile=dumptest.dmplogfile=dumptest.log full=y IMPORT 个作业参数: CLIENT_COMMAND system/******** DIRECTORY=DATA_PUMP_DIR DUMPFILE=dumptest.dmplogfile=dumptest.log 状态: EXECUTING 处理的字节: 0 当前并行度: 1 作业错误计数: 0 转储文件: D:\app\Administrator/admin/orcl/dpdump/dumptest.dmp Worker 1 状态: 进程名: DW00 状态: EXECUTING 对象方案: ZLHIS 对象名: 住院费用记录 对象类型: DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA 完成的对象数: 1 完成的行数: 16,199,991 完成的字节: 15,412,535,648 完成的百分比: 26 Worker 并行度: 1 Import> stop_job 是否确实要停止此作业 ([Y]/N): yes Import> kill_job 是否确实要停止此作业 ([Y]/N): yes
至此导入任务已停止,同时可以使用select job_name,state from dba_datapump_jobs;语句再查询看看任务的状态。
若是停止导出任务,操作步骤与上面同样,只不过需要将impdp修改为expdp。
|