云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云服务器_kvm服务器_排行榜

小七 141 0

云服务器_kvm服务器_排行榜

自从我上一篇关于:数据保证(DA)的博文(见这里、这里和这里)以来,我的大部分工作(在各种客户机上)都是Adaptive Server Enterprise(ASE)和Sybase SAP Replication Server(SRS)的混合,在过去的12月(2018年),我接到了一份新合同,帮助一位客户将约180 TB的数据从Oracle迁移到HANA。客户计划将SRS直接加载功能用于所有数据迁移,并将异构复制用于后续事务活动,因此他们希望填补一些SRS DBA职位。

在与客户的访谈中,我的问题是"您计划如何验证数据迁移和复制?"回答是"我们不知道!"嗯…你们能猜到我是怎么反应的吗?布勒?布勒?有人吗?有人吗?

给我一个"D"…给我一个"a"…那意味着什么?(对不起,标记"DA"不是一个有效的词,因此您将获得零拼字分数。)

因此,在2018年1月8日,我拿起了我的新VPN/RSA/email/jira/Confluence/Skype/Slack/OneDrive凭据以及我自己的72 cpu、256 GB RAM linux机器的地址。(大约在同一时间,我想起了我的想法…天哪,我希望DA支持Oracle到HANA的比较…

Oracle 11g,~100个SID,~200多个不同的模式,~180 TB的数据(~40%的LOB数据)

HANA 1.0/2.0,匹配模式(即Oracle和HANA模式之间的一对一关系),以及大量大量异常庞大的主机(160多个CPU,多TB的RAM!!!!)

SRS 15.7/16.0,返利啦,RAO 15.x

DA 16(建议使用SP03 PL05,以便获得下面讨论的所有新(er)特性和选项)

注意:所有内容都在linux上运行

注意:这些模式通常有1100-1400个表,其中1-5个表包含大部分数据(按字节),有些表的数据量超过1TB。

------–

从DA的角度来看,我基本上保留了我最初的设计(见前面提到的博客):

在第一天设计DA组件的命名标准将DA限制为数据比较作业(以及将来可能进行的一些(重新)同步工作),即不进行模式比较作业消除不必要的行数DA执行100%的(外部)排序比较集和作业之间的一对一关系(shell脚本将管理并发作业运行的负载平衡)DA服务器的localagent(仍然)更有效地处理lob数据,同时…DA(独立)代理(仍然)更有效地处理非lob数据DA服务器/代理实例与数据库引擎不在同一主机上运行

安装了DA,配置了DA,安装了我的一些脚本库…接下来的6-8周包括一些咬钉子、咒骂,而不是一些技术支持案例。

没有特定的顺序…

SRS DBA:"SRS已经成功迁移了这个3TB数据库;我怀疑DA是去发现任何问题"(著名的最后一句话)

我:"好的,那么如果我设置ABORT\u DIFF\u MAX=300万就不会有问题;让我们运行这个DA作业…嗯…有几百万行不同步…嘿嘿…我们刚刚用相关的协调脚本填充了一个300GB的FS"

自我说明:将ABORT\u DIFF\u MAX降到10K

几个作业报告数据行不同步('不一致),看起来是随机的日期/时间进一步分析显示,日期/时间总是在3月/11月,周日总是在凌晨2:00左右。(听起来很熟悉?)

所以,通过一点谷歌搜索和DA工程部的确认,我发现HANA jdbc驱动程序会自动为夏时制切换窗口内的日期/时间添加/减去1小时的偏移量。(当然,任何不使用HANA jdbc驱动程序的应用程序(例如,hdbsql)都不要犯这个明显的错误。)

自我注意:将DA服务器/代理配置为在UTC时区(没有夏时制偏移)下运行:user.timezone=UTC

默认情况下,jdbc驱动程序提供日期/时间作为(非常大的整数)从epoch的偏移量时间。

在本例中,虽然某些日期/时间的文本表示看起来是相同的,但jdbc提供的时代补偿是巨大的(如果你相信的话,实际上比美国国债还大!)。转储Oracle日期格式(Typ=12)显示了两种不同的格式。

作为临时解决方案,DA engineering提供了一个新的配置选项,允许通过文字字符串值(相对于数字历元偏移量)比较日期/时间。

由于DA engineering提供了一个新选项,这个问题现在可以解决了。

自我注意:配置DA服务器/代理以将时间戳作为字符串进行比较:da.compare.timestassString=真

注意:我后来发现可能的罪魁祸首是在Oracle数据库中包含BC(如"基督之前")日期。

以典型的(管理)方式…"一旦我们从Oracle迁移到HANA不会失败(从HANA到甲骨文)"

有人(加上moi的一些催促)认为在我们的后口袋里有一个从HANA到甲骨文的过程可能是个好主意…以防万一*出了问题。

使用SRS从HANA到甲骨文的重新物化被排除在外,比你说的"使用怎么样?"SRS…….

简而言之……在回切场景下,我们谈论的是(希望)HANA中发生更改的数据的一小部分,因此我们在哪里可以找到一个工具,可以a)找到(相对)少量的差异,然后b)同步差异。布勒?布勒?