在我们expdp导数据的时候出于很多的原因,我们需要停止expdp的job ,有些人可能使用kill -9的方式杀掉进程,但是有可能这个job还在运行,文件系统的空间一直在涨
我们可以使用数据的视图DBA_DATAPUMP_JOBS查看状态,查看job是否运行,然后通过job_name 启动交互的界面kill_job,一般情况下我们没有关闭执行的窗口,Ctrl+C退出,直接kill_job就可以删除job了,大多数情况下可能已经关闭了窗口或是后台运行,就需要再启动一个交互的窗口,方式就是通过视图查查job_name及user,然后使用attach 参数连接到job然后kill_job
select * from DBA_DATAPUMP_JOBS;
OWNER_NAME JOB_NAME OPERATION JOB_MODE STATE DEGREE ATTACHED_SESSIONS DATAPUMP_SESSIONS
--------------- ------------------------------ -------------------- -------------------- ------------------------------ ---------- ----------------- -----------------
SYSTEM SYS_EXPORT_SCHEMA_02 EXPORT SCHEMA EXECUTING 1 1 3
SYSTEM SYS_EXPORT_SCHEMA_01 EXPORT SCHEMA NOT RUNNING 0 0 0
expdp system attach=SYS_EXPORT_SCHEMA_02
Export> kill_job
Are you sure you wish to stop this job ([yes]/no): yes
OWNER_NAME JOB_NAME OPERATION JOB_MODE STATE DEGREE ATTACHED_SESSIONS DATAPUMP_SESSIONS
--------------- ------------------------------ -------------------- -------------------- ------------------------------ ---------- ----------------- -----------------
SYSTEM SYS_EXPORT_SCHEMA_01 EXPORT SCHEMA NOT RUNNING 0 0 0
对于state not running的可以直接删除既可
drop table system.SYS_EXPORT_SCHEMA_01 purge;
SQL> select * from DBA_DATAPUMP_JOBS;
no rows selected