解决Oracle中Exp/Imp大量数据处理问题
2007-07-31 19:29
316 查看
解决Oracle中Exp/Imp大量数据处理问题
作者:佚名 来源:不详 发布时间:2007-4-14 12:46:36 发布人:gongming123var __sogou_ad = new Array(); __sogou_ad["pid"] = 'cndownzcom'; __sogou_ad["fmt"] = 'v_300_250' __sogou_ad["iw"] = '300'; __sogou_ad["ih"] = '250'; __sogou_ad["charset"] = 'gb2312'; __sogou_ad["c_bo"] = 'f0f7fd'; __sogou_ad["c_bg"] = 'f0f7fd'; __sogou_ad["c_li"] = '000000'; __sogou_ad["c_te"] = '000000'; __sogou_ad["c_bt"] = '000000'; __sogou_ad["sv"] = '0'; |
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 |
相关文章推荐
- 用管道 解决Oracle中Exp/Imp大量数据处理问题
- Oracle 管道 解决Exp/Imp大量数据处理问题
- Oracle中Exp/Imp大量数据处理问题
- oracle imp字符集问题的解决
- 探索Oracle之 EXP/IMP过程中的字符集问题
- oracle imp字符集问题的解决
- mybatis批量插入oracle大量数据记录性能问题解决
- Oracle exp imp 常见问题解决
- mybatis批量插入oracle大量数据记录性能问题解决
- ORACLE EXP/IMP的使用详解 (解决9i(window)导入到10G的乱码问题)
- oracle imp,exp时字符集问题的解决
- oracle真实案例之oem大量占用cpu与内存问题的解决方法
- 在PHP中怎么解决大量数据处理的问题
- 在PHP中怎么解决大量数据处理的问题
- 解决oracle exp/imp导入表空间过大问题
- Oracle 中用 imp 和 exp 命令导入导出数据库(附问题及解决办法)
- ORACLE EXP/IMP的使用详解 (解决9i(window)导入到10G的乱码问题)
- oracle imp字符集问题的解决
- oracle&nbsp;imp字符集问题的解决