请教最早时间戳冲突解决方案问题

[复制链接]
查看11 | 回复9 | 2005-3-11 16:43:24 | 显示全部楼层 |阅读模式
我在更新冲突解决方案中采用最早时间戳方法,发现正常的更新操作也被系统当作更新冲突处理,请教是什么问题.
原记录是:
主站点
governid recnoabsmodifydate
3307820001cms 2005-3-11 16:43:24
视图站点
governid recnoabsmodifydate
3307820001why 2005-3-14 14:25:11
更新后是:
主站点
governid recnoabsmodifydate
3307820001cms 2005-3-11 16:43:24
视图站点
governid recnoabsmodifydate
3307820001cms 2005-3-14 14:28:11
回复

使用道具 举报

千问 | 2005-3-11 16:43:24 | 显示全部楼层
何为正常?是否更新处于一次同步周期之内?
回复

使用道具 举报

千问 | 2005-3-11 16:43:24 | 显示全部楼层
正常情况应该是视图站点的更新字段值“why”代替主站点的值“cms”。而结果刚好相反。
回复

使用道具 举报

千问 | 2005-3-11 16:43:24 | 显示全部楼层
在视图站点的该条记录更新之前,两个站点的值是一样的。
之后视图站点更新并且同步刷新,就出现了这种情况。我用dba_represolution_statistics查看
,原来此次更新被认为是更新冲突,采用了最早时间戳方法。可实际上我只是更新了一个站点的数据,应该是复制同步才对。
回复

使用道具 举报

千问 | 2005-3-11 16:43:24 | 显示全部楼层
你没有真正理解冲突解决的含义。
Oracle会比较列组中的每个字段,当发现物化视图站点modifydate的值和主站点上更新之前的modifydate的值不一致时,就会认为这是一个冲突。
回复

使用道具 举报

千问 | 2005-3-11 16:43:24 | 显示全部楼层
我明白了。可是这样的话如果我在主站点这边16:12:13更新了记录,那在16:15:00同步到视图站点,则视图站点这边的时间就是16:15:03了,那么两边的MODIFYDATE就不一样,那以后每次不都是采用主站点这边的值了吗?因为主站点的更新时间早呀。这个不是有问题了吗?
请指教。
回复

使用道具 举报

千问 | 2005-3-11 16:43:24 | 显示全部楼层
最初由 chrisMe 发布
[B]我明白了。可是这样的话如果我在主站点这边16:12:13更新了记录,那在16:15:00同步到视图站点,则视图站点这边的时间就是16:15:03了,那么两边的MODIFYDATE就不一样,那以后每次不都是采用主站点这边的值了吗?因为主站点的更新时间早呀。这个不是有问题了吗?
请指教。 [/B]

这是正常的,因为最早时间戳不是收敛的。
回复

使用道具 举报

千问 | 2005-3-11 16:43:24 | 显示全部楼层
请教兄台,那最近时间戳呢?也是这样吗?如果这样的话,那更新操作就不能正常进行了,因为我们的要求是双向复制的,两边可以更新的。
请指教。
回复

使用道具 举报

千问 | 2005-3-11 16:43:24 | 显示全部楼层
最近时间是收敛的,不过仍然需要第二冲突解决方案,比如站点冲突
回复

使用道具 举报

千问 | 2005-3-11 16:43:24 | 显示全部楼层
佩服,佩服
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行