SAPHANA故障恢复处理.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SAPHANA故障恢复处理

(一)、SAP HANA 数据库的恢复技术:系统故障恢复众所周知,SAP HANA是内存数据库,很多人会有疑问,内存是断电就会丢失数据的设备,SAP HANA是怎样保证数据在内存中并且断电不会丢失的呢?此问题涉及到概念叫数据库保护:排除和防止各种对数据库的干扰破坏,确保数据安全可靠,以及在数据库遭到破坏后尽快地恢复。而数据库的恢复技术是数据库保护的重要手段。还要介绍一个概念:事务:一个不可分割的操作序列,其中的操作要么都做,要么都不做。举个例子:银行转帐:A帐户转帐到B帐户100元。该处理包括了两个更新步骤A=A-100B=B+100这两个操作是不可分的:要么都做,要么都不做。事务的状态在日志中包含三种:Start T表示事务T已经开始;Commit T表示事务T已经成功完成并且所有的修改都已经写入数据库;Abort T表示事务T已经被终止,并且所有的修改已被取消。数据库的故障分为三类:事务故障:单个事务的内部故障,不会影响其他事务;介质故障:硬故障:如磁盘损坏,磁盘已满等;系统故障:软故障,如停电、死机等,这些故障会导致内存数据丢失,影响当前的全部事务。数据库对系统故障的恢复主要目的是恢复到故障发生之前的状态,即尚未完成的事务进行回滚,已完成的事务要确保其完成。1、系统故障恢复验证在SAP HANA中,这些概念同样适用,下面对SAP HANA的系统故障的恢复进行验证。本文的测试案例所使用的SAP HANA版本为SAP HANA SPS7 Revision 70.00。首先修改savepoint时间,在savepoint过程中,SAP HANA会把内存页持久化在硬盘上,而SAP HANA的默认savepoint间隔为300s,将其改为3000s。开启两个SQL窗口,将SQL?窗口的auto commit属性设置为off。在sql窗口1中执行insert?into?LOGTEST.TEST?values(1,欢迎大家一起来学习SAP?HANA知识,分享SAP?HANA知识。);??在sql窗口2中执行insert?into?LOGTEST.TEST?values(2,欢迎大家一起来学习SAP?HANA知识,分享SAP?HANA知识。);??????commit;??将SAP HANA进行断电处理。开机重启SAP HANA,查看此表内容。我们可以认为窗口1和窗口2是两个事务T1和T2,事务T1执行一条修改后,没有commit,因此故障之后回滚到事务T1执行前。事务T2已经commit,虽然SAP HANA尚未把数据持久化到硬盘上(未做savepoint),但是由于事务日志的存在,数据库被成功恢复到了故障点。2、系统故障的恢复策略如上图所示,当发生故障时,若是介质故障,则首先重装副本(系统故障省略此步骤),然后利用日志进行事务故障恢复和系统故障恢复,一直恢复到故障发生点。3、事务日志事务日志是用来管理数据库系统中记录的变化,记录了所有更新操作的具体细节。为了让一个事务持久化不丢失,我们不必在事务提交时就把完整的数据内容持久化在硬盘中,只需要持久化事务日志就足够了。当系统崩溃后,数据库中的最近的一致性状态可以通过回放事务日志来恢复。因此日志文件的记录严格按照事务的执行时间次序。事务日志主要包含三种:Undo日志、Redo日志、Undo/Redo日志。而在SAP HANA中,只有两种日志:Undo日志、Redo日志。日志文件的内容主要包含以下三方面:事务的开始标记(Start T)事务的结束标记(Commit, T或Abort T)事务的更新操作记录,一般包括以下内容其中,一条更新操作记录包括:执行操作的事务标识,操作对象,更新前值(Undo)或者更新后值(Redo)或者更新前值和更新后值(Undo/Redo)。4、Redo日志Redo日志的特点是,在修改数据写入数据库之前,对应该修改的Redo日志记录必须已被写到磁盘上。日志中数据修改记录的格式为T,x,v其中,T为事务标示,x为被修改数据标识,v为修改后的值。如下图所示,事务T1的操作是A=A-100,B=B+100,图左方为数据库中的T1具体步骤,图中间为T1对应的Redo日志内容,图右方标识A和B的初始值分别为1000,2000。Redo日志的恢复过程如下:从头扫描日志,找出所有有Commit,T的事务,放入一个事务列表L中从首部开始扫描日志记录T,x,v,如果T属于?L,则write (X, v)(将新值赋给X)output (X)(将X写入数据库)For each T不属于?L dowrite Abort,T to log这种恢复方式的理论基础是没有Commit,T记录的操作必定没有改写磁盘中数据,因此在恢复时可以不理会。而有Commit,T记录的结果可能还未写回磁盘,因此

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档