什么是可用于Oracle .DMP文件的良好压缩algorithm

我打算压缩所有Oracle数据库服务器的Oracle导出转储文件,以减less其磁盘上的空间使用量。

我的问题是:你知道压缩这种types的文件有什么好的压缩工具/algorithm吗?

Oracle转储文件使用专有的二进制格式。 所以你需要一个对二进制数据有利的标准压缩。 bzip2与二进制数据是好的,所以我会build议。

这是我在一些Linux机器上制作备份脚本时使用的一篇很好的文章。 工作得很好。 我最终使用rzip来满足我的需求。 我用它来备份和压缩所有types的数据文件,包括SQL数据库转储。

我首先尝试使用超级压缩级别的7zip,看看你能得到什么。 我绝对得到比.zip格式更好的.7z结果…

bzip2往往是我这样一个任务的默认答案。

我使用4800 MB .DMP文件做了一些比较。 导致:

  • 放气,正常压缩:799 MB
  • bzip2,正常压缩:749 MB
  • PPMd,正常压缩:654 MB

然后,我对72 MB的较小的.DMP文件做了一些testing:

  • 放气,正常压缩:21 MB
  • bzip2,正常压缩:15.4 MB
  • bzip2,超压缩:15.4 MB
  • LZMA(又名7zip),正常压缩:14,3 MB(字典:16MB,字大小:32)
  • PPMd,正常压缩:13.3 MB
  • LZMA(又名7zip),最大压缩率:12.3 MB(字典:32MB,字大小:64)
  • PPMd,超压缩:11 MB
  • LZMA(又名7zip),超压缩:9.1 MB(字典:64MB,字大小:64)
  • LZMA2(也可用于7z格式),超压缩:9,1 MB

所有这些testing都是用7Zip完成的,压缩级别是指7Zip中的默认设置。

一些结论和观察到目前为止
LZMA和LZMA2似乎是.DMP文件的最佳select。 我也看到其他人也在其他​​论坛报告。 在7zip中,LZMA只支持2个CPU,而LZMA2支持更多(也会使用更多的内存)。 由于压缩结果看起来一样,selectLZMA2应该会导致更快的压缩。

现在让我们来玩超压缩的LZMA2文件的单词和字典大小…

  • 字大小273 /字典64MB:8,8 MB
  • 字大小273 /字典128MB:8,8 MB

最终结论
7zip,7z,LZMA2,或者你的名字,是要走的路。

如果你有足够的耐心,那么超压缩就可以得到回报。 为了更高的字数也可以得到回报,但是更大的字典大小可能不会。 (在这个testing用例中)

我会好奇的得到一些人的压缩比的平均值。 一旦我完成压缩一些更大的档案,我会尽量记住发布结果。

新的结论
我一直在调整这一点,并与这些设置有最好的结果时间/比例明智:

  • 压缩级别:超
  • 压缩方法:LZMA2
  • 字典大小:48MB(越大越没有效果,越小越显着增加产生的文件大小)
  • 字大小:12(压缩时间上升到原来的16倍,只有轻微的文件大小改善,压缩时间缩短了128 ,最终结果只有“23%”,可以做到这一点。 。)
  • 固体块大小:固体(因为我们正在压缩一个,或只是几个巨大的文件,这加快了压缩,并没有影响到最终的文件大小)