順序我們使用時間戳,以確保在日誌表中的條目順序記錄,但我們已經找到了潛在的缺陷。比如說,我們在RAC中有兩個節點,節點時間戳爲1000ms。我們的應用服務器在彼此的30ms內插入兩個日誌條目。第一個插入由Node1服務,第二個插入由Node2服務。在兩個節點之間有1000毫秒的差異時,時間戳可能會顯示錯誤順序的日誌條目! (我只想用一個序列,但我們的序列緩存性能的原因......)我怎麼能保證在多服務器Oracle RAC環境中
NTP同步不幫助這個情況,因爲NTP有128ms的容錯 - 它敞開了大門的記錄當它們發生的頻率比這更頻繁時,將被記錄爲亂序。
我有一種感覺,我在看這個問題的錯誤的方式。我的最終目標是能夠檢索記錄日誌條目的實際序列。它不一定是時間戳列。
我們的DBA鎖定/緩存了序列......這是我唯一的選擇嗎? –
@BrienMalone - 這當然是最好的選擇。如果這是DBA關心的問題,那麼可以爲指定了「order」的序列指定一個「cache」。我不確定什麼是「鎖定」序列。如果這是一個要求,我希望DBA能夠很好地創建這個特定的序列,而不是默認的'noorder'。 –