首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用钨设置异构复制?

如何使用钨设置异构复制?
EN

Stack Overflow用户
提问于 2011-11-14 19:10:14
回答 2查看 1K关注 0票数 4

最近,我正在使用Tungsten Replicator在异构数据库之间进行复制。我们有一个mysql主服务器和一个oracle从服务器。根据文档,这样的设置应该可以工作。我使用的是钨复制器-2.0.5。我打电话给

代码语言:javascript
运行
复制
$TUNGSTEN_HOME/tools/configure \
    --verbose \
    --home-directory=$INSTALL_HOME \
    --cluster-hosts=$MA_HOST,$SL_HOST \

在主节点上创建两个节点上的基本安装。注意:由于安装程序在从节点上找不到mysql实例,所以使用安装程序(按照建议)会失败。通过将静态-$SERVICENAME.properties添加到conf目录并修改conf/services.properties (replicator.host=$HOSTNAME、replicator.masterListenPortStart=12112、replicator.rmi_port=20000)来配置复制器实例。

由于SQL-Statement中缺少'timestamp‘关键字,启动复制器导致在对钨模式中的trep_commit_seqno发出update语句时出现ORA-01850。为了克服这个错误,我将update_timestamp和extract_timestamp的数据类型更改为varchar。复制器现在正在启动和一些简单的插入,其中复制,但当测试脚本发出

代码语言:javascript
运行
复制
DROP TABLE IF EXISTS table1;

由于'IF EXISTS‘子句的原因,复制由于ORA-00933而失败。我不确定这是否是我的配置中的错误,或者这两个产品之间的DDL语句的差异是否存在问题。有没有人用钨成功地建立了一个类似的复制?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-14 19:16:08

钨的解释有一些有用的指导。特别是,“高级操作原则”中的这一点是相关的:“此外,除了最简单的CREATE TABLE表达式之外,DDL语句很少是可移植的。”在本例中,DROP TABLE IF EXISTS table1;不是有效的Oracle DDL。

Read it here

票数 2
EN

Stack Overflow用户

发布于 2011-11-16 00:55:01

对于任何感兴趣的人:到目前为止,钨还没有在异构环境中执行任何DDL语句转换(正如MithunSasidharan所写的那样)。现在我编写了一个自定义过滤器,它使用正则表达式跳过ddl语句。为了同步模式定义,我们将使用Apache DdlUtils,它可以很好地在mysql和oracle之间转换模式定义。我假设它对其他供应商也有同样的效果。谢谢。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8120705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档