关闭

EXP直接导出压缩问津,IMP直接导入压缩文件的方法

标签: applicationoracledatabasetesting磁盘64bit
1718人阅读 评论(0) 收藏 举报
分类:

在10G之前,甚至在10G的Oracle环境中,有很多数据量不大,重要性不太高的系统依然采用EXP/IMP逻辑导出备份方式,或者,作为辅助备份方式。
通常情况下,我们都是这样操作的:
1.exp导出
2.gzip压缩
3.gzip解压
4.imp导入

这样操作有如下两个不好的地方:
1.占用大量磁盘空间,磁盘剩余空间必须大于导出的,未压缩的文件大小加上压缩后的文件大小。如果设置计划任务,每日定时导出的话,很有可能因为磁盘空间不足导致备份失败。由于这种备份方式磁盘使用率的剧烈抖动,即使有监控工具,也不能很好的提供趋势分析
2.系统资源浪费,在导出时,大部分都在等待IO。而压缩时,又大部分等待CPU,整体利用率不高。

那么,有没有办法直接导出成压缩文件?并直接从压缩文件导入呢?

EXP导出:
$ mknod p p

$ gzip < p > test.dmp.gz & exp system/xxxx tables=TEST buffer=31457280 CONSISTENT=Y COMPRESS=N file=p
[3] 24532

Export: Release 10.2.0.5.0 - Production on 星期四 1月 19 10:27:45 2012

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径...
当前的用户已更改为 SYSTEM
. . 正在导出表              TEST导出了     1875063 行
成功终止导出, 没有出现警告。
[1]   Done                    gzip < p > test.dmp.gz
[2]-  Done                    gzip < p > test.dmp.gz
[3]+  Done                    gzip < p > test.dmp.gz

$ rm -rf p

IMP导入:
$ mknod p p

$ gunzip < test.dmp.gz > p & imp system/xxx file=p full=y buffer=31457280
[2] 24572

Import: Release 10.2.0.5.0 - Production on 星期四 1月 19 10:29:16 2012

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options

经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SYSTEM 的对象导入到 SYSTEM
. . 正在导入表            "TEST"导入了     1875063 行
成功终止导入, 没有出现警告。
[1]   Done                    gzip < p > test.dmp.gz
[2]+  Done                    gunzip < test.dmp.gz > p

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:741492次
    • 积分:6493
    • 等级:
    • 排名:第3692名
    • 原创:72篇
    • 转载:220篇
    • 译文:1篇
    • 评论:39条
    最新评论