Sybase复制服务器

2020-08-31 03:52发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我在这里需要您的建议...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我在这里需要您的建议,我正在研究需要在SRS和目标数据库服务器上执行变通方法的测试用例。

设置概述:-

它的表级复制和数据来自DB2(源)== >> SRS == >> HANA(目标)。

情况:-

考虑到一种情况,由于某些问题,我们需要将上午10点的HANA数据库(同质或异构)恢复到先前的某个时间(例如2小时)(即8点)。 但是直到上午10点复制工作正常且处于同步状态,所以这意味着直到上午10点复制服务器已将数据复制到目标主机,但现在我们在Hana数据服务器(目标)上有了新数据,因为我们恢复了2小时的数据。

关注点:-

1。 Target中的日志指针(rs_locator)值具有10 am的值,并且SRS中已设置了相同的值,但我们已将数据恢复到8 am(2小时的延迟),因此SRS会拒绝进一步处理吗? 复制服务器会开始将数据流向目标服务器并由目标服务器接受吗?

2。 如果不是,将会出现什么问题或什么会阻止数据流。

3。 这里可以做些什么来解决数据流问题。 如果需要更多信息或明确说明以了解情况,请告诉我。

**建议对系统表进行任何更改,例如rs_locator或rs_oqid? 由于SAP不建议触摸它。

如果需要更多详细信息以了解情况,请告诉我。

非常感谢和问候

Sukriti Verma

1条回答
2020-08-31 04:39

SRS处理(进入目标)基于DSI在(目标)rs_lastcommit表中找到(在"恢复连接"处)的origin_qid值。 成功的"恢复连接"后,DSI将该origin_qid加载到内存中,然后:

  • a-在将新的txn(来自DSI队列)应用于目标之前,将txn的origin_qid与 内存/origin_qid和...
  • b1-如果txn/origin_qid>内存/origin_qid,则将txn应用于目标
  • b2-如果txn/origin_qid <= in-memory/origin_qid,丢弃txn
  • c-如果将txn成功应用于目标,则...
  • d1-更新(目标)rs_lastcommit.origin_qid 使用txn/origin_qid和
  • d2-使用txn/origin_qid
  • e更新DSI的内存中/origin_qid-对下一个txn重复步骤" a"(在DSI队列中)

在您的方案中,您将看到以下内容:

  • 10:00-DSI完成txn并更新(HANA)rs_lastcommit.origin_qid = 6000 ; txn已从SRS队列中删除
  • 12:00-DSI完成了txn并更新(HANA)rs_lastcommit.origin_qid = 7000; txn已从SRS队列中删除
  • 在HANA数据库回滚至10:00时,DSI被挂起; DSI正在等待应用origin_qid = 7005
  • 13:00的txn-HANA数据库回滚(至10:00)完成,并且DSI恢复。 DSI看到以下内容:
  • a-rs_lastcommit.origin_qid = 6000; DSI设置内存/origin_qid = 6000
  • b-当前txn(在DSI队列中)具有origin_qid = 7005
  • c-由于7005> 6000,DSI继续并应用txn 7005 到HANA
  • d1-DSI更新(HANA)rs_lastcommit.origin_qid = 7005,
  • d2-DSI将内存/origin_qid更新为7005
  • e-DSI 最终结果是,一旦HANA数据库回滚(到10:00),DSI应该像往常一样继续应用txns。

    ---------------------

    在原始问题中没有被要求/解决的是:2小时的损失怎么办? 源/DB2数据(从10:00到12:00)? 在典型的SRS设置下,这2个小时的数据已被DSI应用并丢弃,因此,一旦目标/HANA数据库回滚至10:00,此数据(有效)就会"丢失"。

    < p>虽然有可能恢复"丢失"的2小时,但是恢复那些"丢失的" 2小时将需要更多的分析并代表DBA进行准备工作,例如:

    • 是否可以"回滚" DB2 repagent以从@ 10:00开始从DB2日志中重新读取txns,如果是的话...
    • 如何刷新较新的txns(当前驻留在SRS中) 队列),以便处理"较旧的" txns(由repagent重新读取),这当然需要...
    • 告诉DSI忽略"较新的" rs_lastcommit.origin_qid,而是接受 DB2 repagent传递的"较旧" origin_qid

    或者......

    • 可以将DSI队列定义为2小时以上的保存时间 间隔",以便在"恢复连接"后...
    • DSI将首先尝试重新应用" 较旧的txns(由于"保存间隔"而存储在队列中)到HANA,这应该起作用,因为... )大于从rs_lastcommit.origin_quid提取的6000,但是对于这种类型的操作,当然……
    • SRS DBA必须提前计划(即,在确定HANA回滚之前,表现良好 )和....
    • a-定义了足够大的"保存间隔",而...
    • b-确保DSI队列有足够的空间来保存,比如说2个小时 一如既往,Mark的评论就像对待灰色单元格一样!

      RepSever中有完整的章节介绍恢复方案 文件。 再次访问对OP有用。

      Avinash

一周热门 更多>