代码如下
exp gyccb/sys compress=n buffer=51200 file=noo$today'_1'.dmp,noo$today'_2'.dmp,noo$today'_3'.dmp,noo$today'_4'.dmp,noo$today'_5'.dmp,noo$today'_6'.dmp log=noo$today.log filesize=25600mb设定备份出来每25G一个dmp文件,现在因为空间问题,实际剩余空间只有80G左右,实际备份出dmp文件共计120G左右
现在能不能当备份出noo$today'_1'.dmp时,就进行compress压缩?然后在备份剩下的,或者同时进行也可以,请高手指教一下因为怎么办,谢谢了!
exp gyccb/sys compress=n buffer=51200 file=noo$today'_1'.dmp,noo$today'_2'.dmp,noo$today'_3'.dmp,noo$today'_4'.dmp,noo$today'_5'.dmp,noo$today'_6'.dmp log=noo$today.log filesize=25600mb设定备份出来每25G一个dmp文件,现在因为空间问题,实际剩余空间只有80G左右,实际备份出dmp文件共计120G左右
现在能不能当备份出noo$today'_1'.dmp时,就进行compress压缩?然后在备份剩下的,或者同时进行也可以,请高手指教一下因为怎么办,谢谢了!
好像做不到你要求的这样的哟,除非做两个shell命令,一个导出,一个做一个循环,不停的监控生产文件的后一个文件的状态,一旦后面文件生成就压缩当前一个文件。
会不会有什么不好的结果?
我觉得你这个检测的方式不好,如果是我,我会检测下一个文件的状态,比如对于什么时候压缩第一个文件,我的检测点,是不停的检测第二个文件是否存在,如果存在就开始压缩第一个文件,压缩结束后就删除源文件,依次类推,对于最后一个文件,就是exp执行完以后,pause个几秒,就可以开始了。
谢谢,就是导出1的时候就检测2是否存在吧?这个我知道了还有一个问题,compress的速度比较慢啊,会不会出现1还没有压缩好,空间就满了,exp报错停止的情况啊,这种情况怎么解决?导出的买个文件的时候中间是否可以暂停N秒?谢谢了
echo $todayif [-f noo$today'_2'.dmp]
then compress noo$today'_1'.dmp
fi
if [-f noo$today'_3'.dmp]
then compress noo$today'_2'.dmp
fi
if [-f noo$today'_4'.dmp]
then compress noo$today'_3'.dmp
fi就这样,最后,完了,我再写个compress *.dmp?是不是这样就可以了
oracle 11g 有 expdp 导出时同时可以压缩。exp 没有这项功能。以前看到别人 用 linux 脚本 , 把文件备到 linux 管道, 管道 另一边同时压缩。网上找了一下 找到了。
http://blog.csdn.net/caok/archive/2008/12/18/3549956.aspx从这个页里找 12.通过unix/Linux PIPE管道加快exp/imp速度