两种备份方式对比
| 维度 | 逻辑备份(sys_dump) | 物理备份(sys_rman) |
|---|---|---|
| 备份内容 | SQL 语句(可读) | 数据文件二进制块 |
| 备份速度 | 较慢(大表) | 快速 |
| 恢复粒度 | 单表/单库/对象级 | 整库/时间点(PITR) |
| 跨版本迁移 | 支持 | 通常不支持 |
| 适用场景 | 迁移、小库、对象备份 | 大库、灾备、PITR 恢复 |
逻辑备份:sys_dump 使用
# 备份单个数据库(自定义格式,支持并行恢复) sys_dump -U system -h 127.0.0.1 -p 54321 \ -Fc -Z 6 -f /backup/mydb_$(date +%Y%m%d).dump mydb # 只备份某张表 sys_dump -U system -h 127.0.0.1 -t orders \ -f /backup/orders_backup.sql mydb # 备份所有数据库(含角色和表空间) sys_dumpall -U system -h 127.0.0.1 -f /backup/all_$(date +%Y%m%d).sql
逻辑恢复:sys_restore
# 恢复自定义格式备份(-j 4 表示 4 个并行进程) sys_restore -U system -h 127.0.0.1 -d mydb \ -j 4 --no-owner --role=mydb_owner \ /backup/mydb_20250101.dump
物理备份:sys_rman 基础配置
# 1. 确认 WAL 归档已开启(kingbase.conf) wal_level = replica archive_mode = on archive_command = 'cp %p /wal_archive/%f' # 2. 执行全量基础备份 sys_basebackup -U replicator -h 127.0.0.1 -p 54321 \ -D /backup/base_$(date +%Y%m%d) \ -Ft -z -P --wal-method=stream
时间点恢复(PITR)
# recovery.conf 配置(金仓 V8R6 路径) restore_command = 'cp /wal_archive/%f %p' recovery_target_time = '2025-06-01 14:30:00' recovery_target_action = promote
建议策略:每周一次物理全量备份 + 每日一次逻辑差异备份 + WAL 实时归档,可将 RPO 控制在分钟级,RTO 控制在 30 分钟内。