顺序我们使用时间戳,以确保在日志表中的条目顺序记录,但我们已经找到了潜在的缺陷。比如说,我们在RAC中有两个节点,节点时间戳为1000ms。我们的应用服务器在彼此的30ms内插入两个日志条目。第一个插入由Node1服务,第二个插入由Node2服务。在两个节点之间有1000毫秒的差异时,时间戳可能会显示错误顺序的日志条目! (我只想用一个序列,但我们的序列缓存性能的原因......)我怎么能保证在多服务器Oracle RAC环境中
NTP同步不帮助这个情况,因为NTP有128ms的容错 - 它敞开了大门的记录当它们发生的频率比这更频繁时,将被记录为乱序。
我有一种感觉,我在看这个问题的错误的方式。我的最终目标是能够检索记录日志条目的实际序列。它不一定是时间戳列。
我们的DBA锁定/缓存了序列......这是我唯一的选择吗? –
@BrienMalone - 这当然是最好的选择。如果这是DBA关心的问题,那么可以为指定了“order”的序列指定一个“cache”。我不确定什么是“锁定”序列。如果这是一个要求,我希望DBA能够很好地创建这个特定的序列,而不是默认的'noorder'。 –