• Oracle中断中止exp/imp和expdp/impdp数据库导入导出


    一、中断、中止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_NAMESYS_IMPORT_FULL_01状态是EXECUTING(正在执行的),并且正在执行的是IMPDP的导入操作。

    2.2 连接当前存在的job

    使用ATTCH参数连接到2.1中查到的JOB作业上。
    下面是完整的输出内容
    C:UsersAdministrator>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_dirEXPDP_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 将立即关闭

  • 相关阅读:
    php7 安装xhprof
    通过explain分析SQL
    将本地代码上传到github
    SVM支持向量机分类算法
    sklearn之reshape(-1,1)
    sklearn之决策树和随机森林对iris的处理比较
    sklearn总结
    面向对象之类的继承
    面向对象之静态方法、类方法
    面向对象之类的私有属性和方法
  • 原文地址:https://www.cnblogs.com/lcxhk/p/15239587.html
Copyright © 2020-2023  润新知