SAP HANA数据库的恢复主要应用在以下场景中:
若数据区不可用,并且在上一次数据备份之后所有数据改变的log备份和log区文件都可用,那我们可以恢复到数据库失效的时间点,已提交的数据不会丢失。对于此情况的数据库恢复,数据备份或者存储快照,日志备份以及日志区都是需要的,当数据库成功的从数据备份或者数据快照恢复后,会使用log备份和log区的日志进行回放。
若log区不可用,只需要回放log备份。这样的结果是任何log备份之后的改变都会丢失。除此之外,所有在log备份时未commit的事务都会被回滚。对于此情况的数据库恢复,数据备份或者存储快照,日志备份会被使用。当数据库成功的从数据备份或者数据快照恢复后,会使用log备份日志进行回放。再恢复时需要指定Initialize log area选项以避免从不可用的log区恢复。
若需要恢复到某个时间点,管理员需要这个时间点前的一个数据备份或者一个存储快照,以及日志备份和日志区的一部分。由于此种方式会将时间点后的改变全部丢失,从安全考虑来讲,推荐用户在另一个系统进行恢复。
恢复流程
选项 | 描述 |
恢复数据库到最近的状态 | 此选项将恢复数据库到离当前最近的状态,需要以下数据:
|
恢复数据库到指定时间点 | 需要以下数据:
|
恢复数据库到指定数据备份或者存储快照 | 需要以下数据:
|
恢复数据库到某个log位置 | 此选项是用来处理之前的恢复失败的情况,需要以下数据:
|
用户可以使用恢复的方式来从源数据库拷贝到目标数据库。这种方式可以很大程度减少实施消耗(TCD)。用户可以选择两种方式拷贝数据库:
使用备份来拷贝数据库的具体流程与上文恢复数据库的流程相同,但需注意:
ALTER SYSTEM ALTER CONFIGURATION('daemon.ini','system') set ('indexserver.c','instanceids')= '<n>[,<n>+2]' with reconfigure
来添加额外的indexserver到一个主机的系统。
BACKUP DATA CREATE SNAPSHOT(或使用HANA Studio)
SNAPSHOT BACKUP_ID <backup_id> SUCCESSFUL <external_id> | UNSUCCESSFUL [<string>]SUCCESSFUL <external_id>
其中<backup_id>可使下面语句用查询
SELECT * FROM "SYS"."M_BACKUP_CATALOG" WHERE ENTRY_TYPE_NAME = 'data snapshot'
hdbnsutil -useSnapshot
hdbnsutil –convertTopology
本文的测试案例所使用的SAP HANA版本为SAP HANA SPS7 Revision 70.00。想获取更多SAP HANA学习资料或有任何疑问,请关注新浪微博@HANAGeek!我们欢迎你的加入!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
10 | |
10 | |
7 | |
6 | |
5 | |
5 | |
5 | |
5 | |
4 |