一、中断、中止imp/exp导入导出
imp、exp导入导出数据库是系统中的进程,我们只需要找到并将其kill掉即可。但需要注意的是要先kill掉主进程,否则主进程还是会生成子进程,导入导出的动作还是会在后台进行。
eg.
ps -ef | grep exp
#找到主进程pid使用kill命令关掉进程
kill -9 pid
kill -9 ppid
二、中断、中止expdp/impdp数据泵导入导出
数据泵的导出就不像exp/imp那么简单了因为用数据泵导出是oracle的一个job,如果中断,中止那么就需要将这个job停止掉才可以。
2.1 查看job_name和状态
select * from dba_datapump_jobs
可以看到JOB_NAME是SYS_IMPORT_FULL_01状态是EXECUTING(正在执行的),并且正在执行的是IMPDP的导入操作。
2.2 连接当前存在的job
使用ATTCH参数连接到2.1中查到的JOB作业上。
下面是完整的输出内容
C:\Users\Administrator>impdp 用户名/密码g@实例名 attach=SYS_IMPORT_FULL_01
Import: Release 11.2.0.1.0 - Production on 星期五 9月 3 09:47:46 2021
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc
tion
With the Partitioning, OLAP, Data Mining and Real Application Testing options
作业: SYS_IMPORT_FULL_01
所有者: SLCJ2021
操作: IMPORT
创建者权限: TRUE
GUID: 93037C51864F4B7D82BF4FC46C527F7C
开始时间: 星期五, 03 9月, 2021 9:16:33
模式: FULL
实例: orcl2
最大并行度: 1
EXPORT 个作业参数:
参数名 参数值:
CLIENT_COMMAND slcj/********@orclgbk DIRECTORY=expdp_dir dumpfile=ex
pdp_slcj_48_20210902.dmp logfile=expdp_slcj_48_20210902.log schemas=slcj
IMPORT 个作业参数:
CLIENT_COMMAND slcj2021/********@orcl2 directory=expdp_dir dumpfile=
EXPDP_SLCJ_48_20210902.DMP logfile=impdp_slcj-slcj2021.log REMAP_SCHEMA=slcj:slc
j2021 remap_tablespace=SLCJ:SLCJ2021,SLCJ_TEMP:SLCJ2021_TEMP
状态: EXECUTING
处理的字节: 7,835,243,664
完成的百分比: 20
当前并行度: 1
作业错误计数: 0
转储文件: D:\expdp_dir\EXPDP_SLCJ_48_20210902.DMP
Worker 1 状态:
进程名: DW00
状态: EXECUTING
对象方案: SLCJ2021
对象名: CO_MONTH_REPORT_INFO
对象类型: SCHEMA_EXPORT/TABLE/TABLE_DATA
完成的对象数: 3
总的对象数: 378
完成的行数: 70,083,827
完成的字节: 7,600,427,616
完成的百分比: 100
Worker 并行度: 1
Import> stop_job
是否确实要停止此作业 ([Y]/N): y
是否确实要停止此作业 ([Y]/N): y
是否确实要停止此作业 ([Y]/N): y
是否确实要停止此作业 ([Y]/N): y
是否确实要停止此作业 ([Y]/N): y
是否确实要停止此作业 ([Y]/N): Y
是否确实要停止此作业 ([Y]/N): YES
上面stop_job的时候有个坑,可以看到我Y了很多次依然还是要求确认,最后搞明白了是需要输入YES!
2.3 再次查看job状态
可以看到JOB的状态已经发生了变化,现在是正在关闭
2.4 立即关闭JOB
连接JOB参考2.2
#立即将JOB关闭
STOP_JOB=IMMEDIATE
#分离和删除
kill_job
可以再次查看一下job,此时job应该已经不存在了。
三、附录一些交互命令
3.1 常用的交互命令
CONTINUE_CLIENT返回到记录模式。假如处于空闲状态, 将重新启动作业。
START_JOB 启动恢复当前作业。
STATUS在默认值 (0) 将显示可用时的新状态的情况下,要监视的频率 (以秒计) 作业状态。
STATUS=[interval]
STOP_JOB顺序关闭执行的作业并退出客户机。
STOP_JOB=IMMEDIATE 将立即关闭数据泵作业。
3.2 其他命令
ADD_FILE向转储文件集中添加转储文件。
ADD_FILE=dirobjdumpfile-name
CONTINUE_CLIENT 返回到记录模式。假如处于空闲状态, 将重新启动作业。
EXIT_CLIENT 退出客户机会话并使作业处于运行状态。
HELP总结交互命令。
KILL_JOB分离和删除作业。
PARALLEL更改当前作业的活动 worker 的数目。
PARALLEL=worker 的数目。
START_JOB 启动恢复当前作业。
STATUS在默认值 (0) 将显示可用时的新状态的情况下,
要监视的频率 (以秒计) 作业状态。
STATUS=[interval]
STOP_JOB顺序关闭执行的作业并退出客户机。
STOP_JOB=IMMEDIATE 将立即关闭