彩票走势图

Oracle技巧:Exp/Imp大量数据处理

转帖|其它|编辑:郝浩|2009-04-01 13:40:34.000|阅读 564 次

概述:Oracle的exp/imp是许多用户经常使用的两个工具。它们常被用来做数据库的逻辑备份,数据库重组和数据转移等工作。先由exp把数据卸出到文件系统,产生一个.dmp文件,然后必要时再由imp将数据装入数据库。对稍大型的数据库,exp产生的数据动辄数十至上百个GB。这样显然不能由文件系统存放exp产生的数据。这是问题之一。另一个问题是随着数据库的不断增大,exp所需时间越来越长以致实际上很难实施。本文针对以上两个问题讨论相应对策。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  Oracle的exp/imp是许多用户经常使用的两个工具。它们常被用来做数据库的逻辑备份,数据库重组和数据转移等工作。先由exp把数据卸出到文件系统,产生一个.dmp文件,然后必要时再由imp将数据装入数据库。对于一般中小型数据库来说,全数据库的exp所产生的dmp文件可能小于2GB,但对稍大型的数据库,exp产生的数据动辄数十至上百个GB。而现时多数操作系统为32位,其文件系统允许的最大文件为2GB。这样显然不能由文件系统存放exp产生的数据。这是问题之一。另一个问题是随着数据库的不断增大,exp所需时间越来越长以致实际上很难实施。本文针对以上两个问题讨论相应对策。
 
  我们以Unix为例首先看看如何超越2GB限制。这需利用UNIX的通用技术,如管道(named pipe),数据拷贝工具dd以及数据压缩(compress)。下面分别讨论这几种技术。

  • 管道是一种伪文件。它存在于内存中,用于快速I/O操作。管道的缓冲区采用先进先出机制,即写管道进程写到缓冲区头部而读管道进程读取管道尾部。建立管道的命令为“mknod filename p"。
  • dd允许我们从一个设备拷贝数据到另一个设备。
  • compress为UNIX数据压缩工具。

  实施exp之前,我们可先检查所产生dmp文件的大小。以下步骤既可实现:

  1. 生成管道:

  $ mknod /tmp/mypipe p

  2. exp结果输出到该管道

  $ exp file=/tmp/mypipe <……其它exp选项> &

  3. 读取管道并把结果输出到管道,只为查看数据量:

  $ dd if=/tmp/mypipe of=/dev/null

  结果返回exp(。dmp)文件大小,单位为块(512 bytes)。

  现在我们可以着手讨论具体方法:

  1. 文件压缩

  2. 直接exp到磁带

  3. 综合方法

  首先看文件压缩方法。利用文件压缩我们可尽量避免dmp文件大小超过2GB限制。我们利用UNIX的管道技术,具体步骤如下:

  1. 启动compress进程,使之从管道读取数据并输出到磁盘文件。

  $ mknod /tmp/exp_pipe p

  $ compress < /tmp/exp_pipe > export.dmp.Z &

  2. exp到管道。

  $ exp file=/tmp/exp_pipe …… &

  imp时情况类似。

  再看看直接exp到磁带上的方法。

  $ exp file=/dev/rmt/0m volsize=4G

  $ imp file=/dev/rmt/0m volsize=4G

  最后看看exp到裸设备上的方法,

  $ exp file=/dev/rdsk/c0t3d0s0 volsize=4G

  imp类似。以上方法都可使我们避免2GB限制。

  下面讨论如何缩短exp索需时间的问题。目前多数用户会采用exp到磁带的方法只因没有足够的剩余硬盘空间。而整个exp过程所花时间的大部分都在写磁带上。通过我们上面对UNIX工具的讨论,我们可以做到先exp到管道,再将管道数据压缩后输出到磁带上。这样写磁带的数据量可大大减少,从而在相当程度上缩短写磁带时间。另外从Oracle内部角度讲,从7.3版开始,Oracle允许用户做direct path export,即跳过Oracle

  $ make -f $ORACLE_HOME/rdbms/lib/oracle.mk expst

  $ make -f $ORACLE_HOME/rdbms/lib/oracle.mk impst

  以上步骤产生的可执行文件expst(exp single task)和impst与exp/imp用法完全相同。使用它们比使用exp/imp可节省多至30%的时间。但在使用它们时千万要注意一点,即一定要保证在使用expst/impst时不能有任何其他用户在使用Oracle数据库,否则数据库会产生不可预知的后果甚至毁坏。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:网页教学网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP