在exp数据库的时候实现边导出边压缩


转载时请务必以超链接形式标明文章 原始出处和作者信息及本版权声明
链接:http://www.dbasky.net/archives/2009/03/exp.html

我们在做exp的时候,如果希望能实现一边导出边压缩,我们可以用管道技术也实现。

 root用户建立管道:

mknod /opt/exp_path/test_pipe p注:mknod用法:
mknod name b|c major minor
mknod name p
在这里我们只建立管道,只需用第二种方法即可
注意/opt/exp_path该路径的权限,如果只用来做导出,那么只需要进入目录和写目录的权限即可(x和w):

chmod 733 /opt/exp_path
如果需要即做exp,又做imp,那么需要xrw的权限:

chmod 777 /opt/exp_path
当然,如果我们是在oracle属主的目录下,就不必赋予其他权限了。

注:chmod的后面参数意义:
chmod abc file_name
abc表示User、Group、及Other的权限
r=4,w=2,x=1
如果file_name是个目录,x代表能进入这个目录
开始做exp:

exp sh/sh owner=sh file=/opt/exp_path/test_pipe &
gzip < /opt/exp_path/test_pipe > exp.dmp.gz
注意此处,文件是生产在当前的执行目录,不是在/opt/exp_path/(虽然要求/opt/exp_path/目录有写权限),文件生成的地点是根据gzip 决定。在执行gzip之前,不会有文件生成,执行gzip后,有压缩文件生产。

同理,做imp也是一样可以用管道技术,不过gzip要换成gunzip了。

发表评论

Close