Oracle Rman备份恢复的压缩方式
Oracle Rman备份恢复的压缩方式
Rman的压缩方式:
缺省情况下,rman 有两种压缩方式:
至oracle 10.1版本为止,rman 缺省只有Null compression 这一种压缩方式,从Oracle 10.2版本,rman缺省只有Null compression和Unused Block Compression这两种压缩方式。
这两种压缩方式是自动做的,不需要额外的命令或者关键字来指定执行。
1.Null Compression 在把数据文件备份到备份集的时候,rman不备份从来没被分配过的数据块。 这意味着rman永远不会备份从来没有使用过的数据块。比如:表空间的一个数据文件大小是
100MB,其中有50MB被使用过,则rman只会备份50MB。
2.Unused Block Compression:从Oracle 10.2版本开始,rman 备份时候不会备份当前没有包含数据的数据块,这叫Unused Block Compression。rman 现在创建一个压缩比更强的数据
文件的备份,会不备份当前没有用来存放数据的数据块。
在之前的版本,rman只支持NULL compression,即备份时候,只是不备份从来没有使用过的块。DBA在使用这个特性时候,不需要执行额外的命令或使用关键字。比如:表空间的一个数据文件
大小是100MB,其中有50MB被使用过,用户删除了一个25MB的表,那备份时候,使用了Unused Block Compression特性后,只会备份25MB。在这个例子中如果Null compression被使用,
那他会备份50MB,因为Null compression备份时候,会判断数据库是否被使用和曾经被使用,如果从来没有被使用,则不备份这些从来没有被使用的块。
在满足以下条件的时候,Unused Block Compression会起作用:
1.初始化参数COMPATIBLE=10.2或者更新的版本
2.数据文件是local的管理模式
3.进行全库备份的时候
4.是往磁盘上备份,而不是往带库上备份
Unused Block Compression这种方式的备份,会使用比较少的空间,也会使备份时候I/O更高效一些。
BINARY COMPRESSION:
BINARY COMPRESSION是在使用关键子"AS COMPRESSED" 时候才会起作用的二进制压缩方式。 rman 能够使用二进制压缩算法进行备份。
这种备份方式与磁带厂商往磁带上备份的压缩方式类似。 但是不能给出准确的压缩比。这个二进制的压缩算法能够大大的减少备份集所需要的磁盘空间,通常情况下压缩比会达到2-4倍
使用这种压缩方式的命令如下:
rman> backup as compressed backupset database;
1.在使用这种方式压缩时候,会消耗一些CPU资源。如果在一个接近满负荷主机上进行备份,你会发现使用as compressed backupset备份方式的开销几乎是无法接受的。在太多情况下,
压缩备份集能够节省很多磁盘空间,但是会有一些CPU开销。
2.在恢复的时候不需要额外的命令操作,跟恢复非压缩的备份集没区别。
3.从压缩的备份集里面restore 数据文件会比非压缩的备份集花费更多的时间。