最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

SAP HANA数据恢复技术(三):数据库恢复

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-30 10:17:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

SAP HANA数据库的恢复主要应用在以下场景中:

  • 数据区硬盘无法使用
  • 日志区硬盘无法使用
  • 逻辑错误导致数据库需要被重置到一个特定的时间点
  • 数据库拷贝
数据区不可用

若数据区不可用,并且在上一次数据备份之后所有数据改变的log备份和log区文件都可用,那我们可以恢复到数据库失效的时间点,已提交的数据不会丢失。对于此情况的数据库恢复,数据备份或者存储快照,日志备份以及日志区都是需要的,当数据库成功的从数据备份或者数据快照恢复后,会使用log备份和log区的日志进行回放。

Log区不可用

若log区不可用,只需要回放log备份。这样的结果是任何log备份之后的改变都会丢失。除此之外,所有在log备份时未commit的事务都会被回滚。对于此情况的数据库恢复,数据备份或者存储快照,日志备份会被使用。当数据库成功的从数据备份或者数据快照恢复后,会使用log备份日志进行回放。再恢复时需要指定Initialize log area选项以避免从不可用的log区恢复。

逻辑错误—时间点恢复

若需要恢复到某个时间点,管理员需要这个时间点前的一个数据备份或者一个存储快照,以及日志备份和日志区的一部分。由于此种方式会将时间点后的改变全部丢失,从安全考虑来讲,推荐用户在另一个系统进行恢复。

恢复流程

  • SAP HANA System视图,右键点击要恢复的系统,选择“Recovery…

  • 点击OK以关闭系统。
  • 根据下表选择一种恢复方式。
选项
描述
恢复数据库到最近的状态
此选项将恢复数据库到离当前最近的状态,需要以下数据:
  • 最近的数据备份(File, Backint, 或存储快照)
  • 数据备份后的日志备份
  • 日志区数据
恢复数据库到指定时间点
需要以下数据:
  • 最近的数据备份(File, Backint, 或存储快照)
  • 数据备份后的日志备份(包括此时间点之后的日志备份)
  • 日志区数据
恢复数据库到指定数据备份或者存储快照
需要以下数据:
  • 指定数据备份(File, Backint, 或存储快照)
恢复数据库到某个log位置
此选项是用来处理之前的恢复失败的情况,需要以下数据:
  • Log位置之前的数据备份(File, Backint, 或存储快照)
  • 数据备份后的日志备份
  • 日志区数据

  • 选择一项后点击“Next”。
  • 若需要日志备份,则指定日志备份的位置。

  • 由于系统会根据备份目录以失败备份的位置,因此不需要指定恢复哪个备份,点击Next

  • 根据需要选择额外的选项,点击“next”。


  • 恢复总结显示出来,如果设置正确,选择“Finish”,恢复开始。

使用备份和恢复拷贝数据库

用户可以使用恢复的方式来从源数据库拷贝到目标数据库。这种方式可以很大程度减少实施消耗(TCD)。用户可以选择两种方式拷贝数据库:

  • 使用源数据库的数据备份和日志备份文件来拷贝。
  • 只使用数据备份文件进行拷贝。

使用备份来拷贝数据库的具体流程与上文恢复数据库的流程相同,但需注意:

  • 如果目标系统主机数少于源系统主机数量时,必须配置目标系统,使错个indexserver服务运行在一个主机上。如果其他多个服务存在,则需要每个服务运行在单独的主机上。可通过

ALTER SYSTEM ALTER CONFIGURATION('daemon.ini','system') set ('indexserver.c','instanceids')= '<n>[,<n>+2]' with reconfigure

来添加额外的indexserver到一个主机的系统。

  • 如果目标系统的主机数多于源系统主机数,则必须移除多余的主机。
  • 在源数据库建立snapshot
使用存储快照拷贝数据库

BACKUP DATA CREATE SNAPSHOT(或使用HANA Studio)

  • 关闭目标数据库,拷贝源数据库的data区到目标数据库的data
  • 在源数据库确认或放弃snapshot

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'

  • 在目标数据库中,删除备份文件,如果$DIR_INSTANCE/../SYS/global/hdb/metadata 中存在BackupCatalog.xml文件,删除掉。
  • 在目标数据库用户环境下执行以下命令:(或使用HANA Studio)

hdbnsutil -useSnapshot
hdbnsutil –convertTopology

  • 启动目标数据库


楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-6-26 16:13

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表