Chinaunix

标题: send_warm_standby_exacts和dsi_replication [打印本页]

作者: hefan    时间: 2011-09-30 08:48
标题: send_warm_standby_exacts和dsi_replication
最近有几个人问到在RS中,复制了的数据再次要求复制咋办,论坛也有过帖子讨论的了。其实就在配置rep_agent,将send_warm_standby_exacts

不过,最近发现另外一个参数,数据库连接配置的参数,dsi_replication:指定由DSI应用的实物是否在事务日志中被标记为正在复制。

我觉得这个也是复制再参与复制的参数吧,不过是不是dsi_replication适用于warm_standby的再复制?

两个参数有何差别?
作者: Eisen    时间: 2011-09-30 14:17
没发现这个参数,只发现一个dsi_replication_ddl——用来控制DDL复制的。lz用的是什么版本阿?
作者: hefan    时间: 2011-09-30 14:19
你说的是RS 15.0吧,我的是12.6
作者: hefan    时间: 2011-09-30 14:26
Eisen,你是专家,如果有这样的需求,A1、A2、A3要求复制到B1、B2、B3,B1、B2、B3再汇总到C,你会采取怎样的处理办法?表间的逻辑性能保证汇总没问题。

我的想法是A到B用库复制,B1、B2、B3再表复制汇总到C。
作者: Eisen    时间: 2011-09-30 15:21
本帖最后由 Eisen 于 2011-09-30 15:36 编辑

我以前也用send_warm_standby_xacts来启动层级复制,后来发现这样会导致双向复制的死循环以及广播风暴,后来改变了思路,向你这个需求,我就直接做成
a1 -> b1,a2->b2, a3->b3 和a1->c,a2->c,a3->c
直接在c上作汇总(不清楚你的汇总具体是什么意思所以没法保证说得肯定合你的要求),不过一般说来,采用definition+funcsiton string都可以搞定了。

ps:专家不敢当,大家一起交流好了。
作者: hefan    时间: 2011-10-01 10:03
建议很不错,不过如果是a-b,b-c,不会有双向复制啊?

广播风暴是怎么回事,没注意过呢
作者: Eisen    时间: 2011-10-01 20:34
广播风暴类似于TCP/IP里面的路由广播风暴,就是一个大面积的层级递进。
你这个a->b->c是没有双向复制,但是由于那个选项是个db选项,而不是table选项,所以在a <=>b或b<=>c的表间就会引发死循环




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2