优化IMPDP/EXPDP

优化IMPDP/EXPDP

       数据据泵与exp/imp来说性能有很大的提高其中影响最大的就是paralle可以这么来看expdp/impdp=exp/imp+direct mode + paralle. 所以,使用数据泵,要想提高速度,就要设置并行参数。(expdp没开并行,基本上和直接路径exp没两样),其他调整比如REDO,tmp表空间等这里就不讲了。

       如果我们使用如下语句:

expdp full=y directory=dump dumpfile=orcl_%U.dmpparallel=4

       那么expdp将为parallel创建4个文件 ORCL_01.DMPRCL_02.DMPORCL_03.DMPRCL_04.DMP 每个进程一个文件。  这样的话,每个文件的大小会因进程而不同。可以某个文件很大,某个文件却很小。要解决这个问题,就是设置filesize参数来指定每个文件的最大值。这样当一个文件达到最大值的之后,就会创建一个新的文件。

expdp full=y directory=dump dumpfile=orcl_%U.dmp parallel=4 filesize=50M

       导出的dump文件和paralle有关系那么导入也有关系。 paralle要小于dump文件数。如果paralle大于dump文件的个数,就会因为超过的那个进程获取不到文件,就不能对性能提高。

       一般parall参数值等于CPU 的个数。而且要小于dump文件的个数。 

查看CPU个数:

SQL> show parameter cpu   

 

注意

       导出导入的过程,尽量避免用ssh连上服务器,在客户端的ssh里执行备份恢复命令。因为这样,如果连接中断,备份也就中断了。可以将备份脚本添加到crontab里。让备份在服务器上执行。这样即使ssh中断,备份和恢复也不受影响。


-----------------------------

一、停止EXP/IMP优化速度

可以直接KILL 进程,但先要KILL父进程,然后KILL子进程,只KILL子进程,EXP/IMP还会在后台执行的

样例:ps -ef |grep imp 查询到pid,kill -9 pid 、kill -9 ppid,就可以了

 

二、停止EXPDP/IMPDP

这里就不能简单的用KILL进程来处理了,因为这里是一个JOB

1EXPDP/IMPDP参数:

       ATTACH连接到现有作业,例如 ATTACH [=作业名]

JOB_NAME可以通过dba_datapump_jobs来查询:

sql>select * from dba_datapump_jobs

OWNER_NAME                     JOB_NAME                      OPERATION

------------------------------ ------------------------------ ------------------------------------------------------------

JOB_MODE                                                    STATE                              DEGREE ATTACHED_SESSIONS DATAPUMP_SESSIONS

------------------------------------------------------------ ------------------------------ ---------- ----------------- -----------------

SYSTEM                         SYS_EXPORT_FULL_01         EXPORT

FULL                                                         EXECUTING                               1                 1                 3

 

样例1:

C:\Documents and Settings\Administrator>expdp system/sys attach=SYS_EXPORT_FULL_01

Export: Release 11.2.0.1.0 - Production on星期六 7 13 23:53:55 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

作业: SYS_EXPORT_FULL_01

  所有者: SYSTEM

  操作: EXPORT

  创建者权限: TRUE

  GUID: 7374DCC3E7D547B3B755865E4DB59F10

  开始时间:星期六, 13 7, 2013 23:53:57

  模式: FULL

  实例: tony

  最大并行度: 1

  EXPORT 个作业参数:

  参数名     参数值:

     CLIENT_COMMAND       system/******** directory=dir_dump dumpfile=dir_dump:bigtable.dmp logfile=dir_dump:bigtable.log full=y

  状态: IDLING

  处理的字节: 0

  当前并行度: 1

  作业错误计数: 0

  转储文件: d:\impdp\bigtable.dmp

    写入的字节: 5,177,344

Worker 1 状态:

  进程名: DW00

  状态: UNDEFINED

 

Export> stop_job

是否确实要停止此作业 ([Y]/N): y

是否确实要停止此作业 ([Y]/N): Y

是否确实要停止此作业 ([Y]/N): Y

是否确实要停止此作业 ([Y]/N): Y

是否确实要停止此作业 ([Y]/N): Y ---------------就是停止不了,在dba_datapump_jobs还是能查到记录,只是JOB已经停止了。

-----已经解决了,需要输入YES

       Export> KILL_JOB

       是否确实要停止此作业 ([Y]/N): YES

在执行的时候CTL+C就可以进入交互模式,windowsLINUX下都是一样的。

重新进入EXPDP/IMPDP,就可以执行下面的交互命令:

$expdp username/password,

交互模式常用命令

CONTINUE_CLIENT返回到记录模式。假如处于空闲状态,将重新启动作业。

START_JOB 启动恢复当前作业。

STATUS在默认值 (0)将显示可用时的新状态的情况下,要监视的频率 (以秒计)作业状态。

STATUS=[interval]

STOP_JOB顺序关闭执行的作业并退出客户机。

STOP_JOB=IMMEDIATE将立即关闭数据泵作业。

 

还有其他命令:

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 将立即关闭


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
expdpimpdp是Oracle数据库中的工具程序,用于在服务端进行数据导出和导入操作。这两个工具只能在Oracle服务端使用,无法在客户端使用。而exp和imp则是可以在客户端和服务端都可以使用的工具。 expdp用于将数据库中的数据导出到一个文件中,可以按照用户、表、查询条件或表空间等进行导出操作。例如,可以使用expdp命令按用户导出数据:expdp scott/tiger@1.2.3.4:1521/orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dump_dir。还可以使用expdp命令按表名导出数据:expdp scott/tiger@1.2.3.4:1521/orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dump_dir。也可以按查询条件导出数据:expdp scott/tiger@1.2.3.4:1521/orcl directory=dump_dir dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20'。还可以按表空间导出数据:expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=temp,example。如果需要导出整个数据库,可以使用expdp命令:expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y。 impdp则用于将之前使用expdp导出的文件导入到数据库中。在导入时,可以指定要导入的文件、日志、忽略错误等参数。例如,可以使用impdp命令进行完全导入:imp system/123456 ignore=y full=y file=exp_table.dmp log=exp_table.log。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [expdpimpdp](https://blog.csdn.net/qq_42257848/article/details/89675119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [EXP、IMP、EXPDPIMPDP命令](https://blog.csdn.net/qq_38103699/article/details/122893294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值