oracle 压缩备份比率,Oracle 10g备份集压缩(Backupset Compression)

从Oracle 10g开始,Oracle允许我们对备份集进行压缩,以减少空间耗用,这个特性通过对BACKUP命令伴增加AS COMPRESSED BACKUPSET子句实现。

压缩备份在恢复时无需解压缩,这一特性在以下条件下可能大为有益:

备份存储空间有限;

通过网络备份而带宽有限;

直接备份至磁带、CD、DVD介质不能直接压缩。

可以选择在备份命令里显示指定压缩选项:

BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;

也可以仅对部分文件进行压缩,例如,对1、5文件压缩备份:

BACKUP AS COMPRESSED BACKUPSET DATAFILE 1,5;

也可以配置RMAN指定压缩选项:

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;

但是需要了解的是,压缩备份会消耗更多的CPU资源以及时间,不同的技术只不过是在不同资源间的一种平衡,如何选择依赖于我们的条件及需求。

可以修改一下RMAN的配置参数,以方便测试:

RMAN> configure device type disk backup type to compressed backupset;

old RMAN configuration parameters:

CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;

new RMAN configuration parameters:

CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;

new RMAN configuration parameters are successfully stored

released channel: ORA_DISK_1

此时执行备份,备份集将被压缩:

RMAN> backup full filesperset 11 database ;

Starting backup at 29-MAR-05

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=161 devtype=DISK

channel ORA_DISK_1: starting compressed full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00009 name=/data1/oradata/systemfile/bigtbs.dbf

。。。。。。。

input datafile fno=00005 name=/data1/oradata/systemfile/eygle01.dbf

piece handle=/backupset/o1_mf_nnndf_TAG20050329T062814_14k1813y_.bkp

channel ORA_DISK_1: backup set complete, elapsed time: 00:08:35

channel ORA_DISK_1: starting compressed full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00011 name=/opt/oracle/oradata/eygle/t2k01.dbf

piece handle=/backupset/o1_mf_nnndf_TAG20050329T062814_14k1r4fh_.bkp

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07

Finished backup at 29-MAR-05

注意压缩备耗时为00:08:35 + 00:00:07 = 8:42 = 522s。再来看一下非压缩备份:

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO backupset;

old RMAN configuration parameters:

CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;

new RMAN configuration parameters:

CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM 1;

new RMAN configuration parameters are successfully stored

RMAN> backup full filesperset 11 database ;

Starting backup at 29-MAR-05

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=161 devtype=DISK

channel ORA_DISK_1: starting full datafile backupset

input datafile fno=00009 name=/data1/oradata/systemfile/bigtbs.dbf

input datafile fno=00005 name=/data1/oradata/systemfile/eygle01.dbf

piece handle=/backupset/o1_mf_nnndf_TAG20050329T065513_14k2tmx7_.bkp

channel ORA_DISK_1: backup set complete, elapsed time: 00:01:55

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00011 name=/opt/oracle/oradata/eygle/t2k01.dbf

channel ORA_DISK_1: starting piece 1 at 29-MAR-05

channel ORA_DISK_1: finished piece 1 at 29-MAR-05

piece handle=/backupset/o1_mf_nnndf_TAG20050329T065513_14k2y7go_.bkp

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07

Finished backup at 29-MAR-05

非压缩备份耗时为00:01:55 + 00:00:07 = 2:02 = 122s。压缩备份使用的时间是非压缩方式的522 / 122 = 4.28 倍。再来对比一下压缩比率:

$ ls -l

total 2585568

-rw-r----- 1 oracle dba 190103552 Mar 29 06:36 o1_mf_nnndf_TAG20050329T062814_14k1813y_.bkp

-rw-r----- 1 oracle dba 1093632 Mar 29 06:36 o1_mf_nnndf_TAG20050329T062814_14k1r4fh_.bkp

-rw-r----- 1 oracle dba 1130618880 Mar 29 06:57 o1_mf_nnndf_TAG20050329T065513_14k2tmx7_.bkp

-rw-r----- 1 oracle dba 1302528 Mar 29 06:57 o1_mf_nnndf_TAG20050329T065513_14k2y7go_.bkp

可以知道,压缩备份大小为190103552 + 1093632 = 182.33984375 MB,非压缩备份集为1130618880 + 1302528 = 1079.484375 MB,非压缩较压缩大小为1079.484375/182.33984375 = 5.9倍,即压缩方式大大节省了空间。

测试过程中收集了CPU消耗信息,再来比较一下备份进程的CPU消耗。

压缩备份时CPU消耗如下,大约在26%左右。

PID USERNAME THR PR NCE SIZE RES STATE TIME FLTS CPU COMMAND

15252 oracle 11 10 0 430M 353M cpu01 1:38 0 26.35% oracle

而非压缩模式下CPU消耗如下,大约为16%左右。

PID USERNAME THR PR NCE SIZE RES STATE TIME FLTS CPU COMMAND

15252 oracle 11 52 0 445M 364M sleep 9:07 57 16.43% oracle

可见,压缩模式较非压缩模式多消耗10%左右的CPU。看来选择哪一种模式要依赖你的环境及需要,但是毕竟Oracle提供了更多的可选项给我们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值