Oracle10g容許你和BACKUP命令伴隨使用AS COMPRESSED BACKUPSET字句,對備份集進行壓縮。
這個壓縮備份在恢復時無需解壓縮,這一特性在如下條件下可能大爲有益:
1.你的備份存儲空間有限
2.經過網絡備份而帶寬有限
3.直接備份至磁帶、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;
可是壓縮備份會消耗更多的資源以及時間。
咱們看一下如下測試: 算法
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 |
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 網絡
Rman compressed 分爲三種,前兩種是默認的。後一種須要手動。 oracle
1.null compression 測試
2.unused block compression spa
3.binary compression code
在10.1版本以前默認的是null compression,10.2之後的默認是1+2啦。 ip
下面就來解釋下這三個名詞 ci
null compression:在執行rman備份的時候未分配的block不會被備份。 資源
unused block compression:就算是block已經被分配可是數據被delete掉啦。那delete這部分的數據也不會被備份 io
舉例說明,我如今有一個datafile 100m,若是已經分配了50m的block,可是又被人delete了25m,若是在10.1版本的時候會備份50m,10.2以後的只會備份25m.
binary compression:這個是手動在執行rman命令的時候要加as compressed命令的。當磁盤空間不夠的時候能夠考慮壓縮備份這種特性。壓縮率比較驚人。能夠達到1/2-1/4。可是這種高壓縮也是有缺點的。就是恢復起來比較慢。這個主要是在磁盤和cpu之間來作衡量。11g 又出來了zlib壓縮算法,這種算法比以前要快。可是壓縮率不如以前的bzip2.