在 SAP HANA 的架构设计与运维讨论中,我们经常听到关于备份策略的争论。
许多讨论往往将数据备份、日志备份和 Catalog(备份目录)视为孤立的功能点。
其实可恢复性(Recoverability)并非源于某一个独立的备份文件,而是涌现自一个随时间推移而构建的、完整且一致的「备份链」。
要理解恢复机制,首先必须从技术视角重新定义 SAP HANA 备份架构的三大支柱:
1. 数据备份(Data Backup):恢复的基石,而非全部
数据备份创建的是数据库在特定时间点的「事务一致性」镜像。无论是全量、差量还是增量备份,它们在技术上都只建立了一个静态的恢复点(Restore Point)。
数据备份是恢复的强制性前提,但它本身无法保证该时间点之后的任何可恢复性。要实现持续保护,必须依赖后续组件。
2. 日志备份(Log Backup):连接时间的链条
日志备份记录了数据备份之后发生的所有数据库变更。SAP HANA 持续生成的日志备份,在技术上构成了严格的顺序链条。
日志是「时间点恢复」和「恢复到最新状态」的绝对核心。如果链条中丢失、损坏或删除了任何一个日志段,那么该点之后的恢复在技术上就是不可能的,无论你拥有多少个后续的数据备份也无济于事。
3. 备份目录(Backup Catalog):不可或缺的大脑
Backup Catalog 绝非仅仅是辅助性的日志记录,它是存储所有备份元数据、时间戳及其相互依赖关系的核心数据库。
SAP HANA 依赖 Catalog 来判断哪些恢复路径是可行的。如果没有一致的 Catalog,即便磁盘上有备份文件,标准的恢复程序也无法评估或执行。它是恢复操作的技术依赖项。
在 SAP HANA SQL Reference 的定义中,恢复操作并不针对单一文件,而是依赖于以下三者的组合可用性:
一个适用的数据备份;
该备份之后所有连续的日志备份;
描述这些关系的 Backup Catalog 条目。
实际项目中两个最常见的场景:
恢复到最新状态: 系统需要回溯最近的数据备份,并“重放”随后所有的日志。链条必须完整无缺。
时间点恢复(PITR): 系统必须拥有覆盖目标时间段的日志备份。如果中间出现断档,恢复逻辑将直接失败。
SAP HANA 报告的「备份成功」仅代表单个 I/O 操作完成。而「可恢复性」是一个仅在恢复时才能被最终验证的重构过程。它取决于整个链条的完整性和 Catalog 的可用性。因此,单纯监控备份作业的状态是不够的,必须验证链条的连续性。