Oracle 备份压缩详解
Oracle 备份压缩详解
适用版本:Oracle Database 10g / 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
备份压缩节省空间和传输时间[1]:
详细见:Oracle 备份压缩与加密。
2. RMAN 压缩
2.1 BASIC
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;
- 免费选项
- 中等压缩比
- 通用
2.2 LOW
RMAN> BACKUP AS COMPRESSED BACKUPSET
DATABASE COMPRESSION ALGORITHM 'LOW';
- 速度优先
- 压缩比低
- CPU 开销小
2.3 MEDIUM
RMAN> BACKUP AS COMPRESSED BACKUPSET
DATABASE COMPRESSION ALGORITHM 'MEDIUM';
- 平衡
- 默认
2.4 HIGH
RMAN> BACKUP AS COMPRESSED BACKUPSET
DATABASE COMPRESSION ALGORITHM 'HIGH';
- 压缩比高
- CPU 开销大
- 空间受限
3. 配置
3.1 默认
CONFIGURE COMPRESSION ALGORITHM 'MEDIUM';
3.2 压缩备份集
CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO COMPRESSED BACKUPSET;
4. 未使用块
4.1 跳过
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;
# 自动跳过未使用块
4.2 NULL 压缩
- 自动去除未使用块
- 节省空间
5. 压缩比
5.1 测试
# 不压缩
RMAN> BACKUP AS BACKUPSET DATABASE FORMAT '/tmp/test_uncomp.bkp';
# 压缩
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE FORMAT '/tmp/test_comp.bkp';
# 比较
ls -lh /tmp/test_*.bkp
5.2 典型
- BASIC:2-4 倍
- LOW:1.5-2 倍
- MEDIUM:2-3 倍
- HIGH:3-5 倍
6. CPU 影响
6.1 测试
- 压缩消耗 CPU
- LOW:CPU 低
- HIGH:CPU 高
- 平衡
6.2 选择
- CPU 充足:HIGH
- CPU 受限:LOW
- 默认:MEDIUM
7. Data Pump 压缩
7.1 选项
expdp scott/tiger ... COMPRESSION=ALL
expdp scott/tiger ... COMPRESSION=DATA_ONLY
expdp scott/tiger ... COMPRESSION=METADATA_ONLY
expdp scott/tiger ... COMPRESSION=NONE
7.2 性能
- ALL:最大压缩
- DATA_ONLY:数据
- METADATA_ONLY:元数据
- 节省空间
详细见:Oracle Data Pump 全集。
8. 表压缩
8.1 OLTP
CREATE TABLE employees (...) COMPRESS FOR OLTP;
8.2 Warehouse
CREATE TABLE sales (...) COMPRESS FOR QUERY;
8.3 Archive
CREATE TABLE archive (...) COMPRESS FOR ARCHIVE;
详细见:Oracle 表压缩技术详解。
9. 应用场景
9.1 空间受限
- FRA 有限
- 压缩
- HIGH
9.2 网络备份
- 异地备份
- 压缩
- 节省带宽
9.3 长期归档
- 历史数据
- ARCHIVE 压缩
- 节省空间
9.4 性能优先
- LOW 压缩
- 快速备份
- CPU 友好
10. 监控
10.1 压缩比
SELECT file_type,
ROUND(SUM(bytes)/SUM(compressed_bytes), 2) AS ratio
FROM v$backup_files
GROUP BY file_type;
10.2 备份大小
SELECT handle, bytes, status
FROM v$backup_piece
WHERE status = 'A'
ORDER BY bytes DESC;
11. 常见坑与排错
11.1 ORA-19914
- 压缩错误
- 检查算法
11.2 性能差
- HIGH 太慢
- 改 MEDIUM/LOW
11.3 空间
- 压缩后仍大
- 检查数据
- 调整算法
12. 最佳实践
- MEDIUM:默认
- HIGH:空间紧
- LOW:CPU 紧
- 测试:压缩比
- 平衡:CPU vs 空间
- 网络备份:压缩
- 长期归档:ARCHIVE
- 监控:压缩比
- 自动化:配置
- 文档:策略
13. 参考资料
[1] Oracle Database Backup and Recovery User’s Guide 19c, “Compression” https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/