京东云_动态ip的服务器_便宜的

安全 虚拟云 浏览

小编:这篇文章是整个系列的一部分 Hana智能数据集成-概述 一个更基本的用例是将数据从源数据库复制到Hana中。只需一次尝试Hana,或进行初始加载并为所有更改设置实时复制,以便Hana与源

京东云_动态ip的服务器_便宜的

这篇文章是整个系列的一部分

Hana智能数据集成-概述

一个更基本的用例是将数据从源数据库复制到Hana中。只需一次尝试Hana,或进行初始加载并为所有更改设置实时复制,以便Hana与源系统并排,例如用于报告。

使用可以完成的智能数据集成技术,您必须创建虚拟表,为初始加载编写SQL或数据流–每个源一个表–并创建实时订阅。或者简言之,使用Hana WebIDE创建一个hdbreptask对象,云数据集合,为您完成所有这些工作。

但是让我们做一些不同的事情,而不是将源数据库复制到Hana中。只是为了好玩,一个数据库当然也能工作。我们想复制Twitter!

为此,我们需要一个适配器连接到Twitter—没问题,与代理一起提供—并使用Twitter登录凭据创建一个远程源。其他一切都是直截了当的:

事实上,有一个很好的视频所有这一切

嗨,沃纳戴恩

有任何视频或turtorial使用EIM复制数据从oracle数据库?

我们试过了,似乎任务在初始加载时只运行一次,然后它被标记为非"实时"任务,所以它不会捕获增量。

我们需要为此做额外的配置吗?

谢谢,

杰夫

你用的是哪种适配器?SDA Oracle适配器(ODBC)可能?那个不支持实时。它必须是位于数据供应代理中的Oracle适配器。

嗨,沃纳,

我正在使用"OracleLogReaderAdapter"。

根据EIM管理指南(3.7激活并执行复制任务):

远程订阅:在为虚拟表选择的架构中生成。只有在未选择"仅初始加载"选项的情况下才会生成此消息。

这实际上带来了一个难题:我确实需要数据初始加载,然后让远程订阅运行在"分发状态"(为delta播放重做日志)。但是如果我在创建任务时选择初始加载选项,则不会创建远程订阅。

好的,我再次返回任务并将其修改为取消选中"初始加载选项"。这一次,在我保存任务后,生成了远程订阅,但没有处于"分发状态"(在数据供应远程订阅监视器中,状态为"成功")。

并且没有发生增量复制。所以我尝试重新运行它生成的存储过程。它抛出如下错误:

==============

无法执行"call"ZABBIX"。EIM::ZABBIX_rep.START\u复制"()"在1.870秒内。

[129]:事务被内部错误回滚:[129]"ZABBIX"。"EIM::ZABBIX"_rep.START\u复制":第3行第1列(位置113):[129](范围3):由内部错误回滚的事务:sql"处理错误:队列:EIM::zabbix_代表萨比克斯.HISTORY:为远程订阅EIM::zabbix添加订阅失败_代表萨比克斯.历史。错误:异常151050:CDC add subscription失败:初始化重新代理失败。

==============

确定,我认为存储过程试图重新创建/初始化已经存在的订阅。因此,我直接从存储过程中拉出"alter"sqlddl,并运行以下命令来启动delta回放:

alter REMOTE SUBSCRIPTION"ZABBIX"。"EIM::ZABBIX"_代表萨比克斯.JEFFTEST"分发

它也不喜欢这样,类似这样的错误:

===========

无法执行"ALTER REMOTE SUBSCRIPTION"ZABBIX"。EIM::ZABBIX_代表萨比克斯.JEFFTEST"DISTRIBUTE--call…"在52毫秒743微秒内。

SAP DBTech JDBC:[256]:sql处理错误:DISTRIBUTE:EIM::zabbix_代表萨比克斯.JEFFTEST:无法对远程订阅执行分发EIM::扎比克斯_代表萨比克斯.JEFFTEST。它不处于MAT\u START\u BEG\u MARKER/MAT\u START\u END\u MARKER状态。

===========

那么在初始加载后(在任何文档或演示中都没有提到)真正启动同步的基本步骤是什么?

是的,那是我追求的东西。我已经提交了一个错误,说"当你再次运行初始加载,它应该重置一切"。

https://hdbits.wdf.sap.corp/bugzilla/show\u bug.cgi?id=78116

(SAP内部)

我读取错误消息的方式是,您已经有一个活动订阅,当初始加载要准备更改捕获时,它会抱怨此订阅已经活动。

因此我将重新开始:

删除远程订阅"ZABBIX"。"EIM::ZABBIX"_代表萨比克斯"测试";

truncate table;

再次激活数据流,生成远程订阅

或者您可以执行命令

alter remote subscription"ZABBIX."EIM::ZABBIX_代表萨比克斯.JEFFTEST"重置;

但有时这在我的开发构建中不起作用。值得一试。

要解释订阅状态和开始/结束标记周围的消息更多一些…

订阅有多个状态:

1。刚创建或处于重置状态:订阅存在,但不执行任何操作。尚未向适配器发送任何信息。

2。alterremotesubscriptionqueue:这个命令通知适配器开始收集更改。它们被发送到Hana并在那里排队。未加载目标表!现在可以运行初始加载并将所有数据放入目标表。这不会因为主键冲突而失败,因为实时部分还没有插入任何行。这将在实时数据流中添加一个开始标记行。

文章来源:www.vmchk.com

 
你可能喜欢的: