確認序號 (CSN)
使用 Oracle GoldenGate 時,您可能需要參考「確認序號 (CSN)」。CSN 是 Oracle GoldenGate 建構的 ID,用於識別交易以維持交易一致性和資料完整性。它可以唯一識別交易確認至資料庫的時間點。
CSN 可能需要將 Extract 定位在交易日誌中、將 Replicat 重新定位在歷程檔中或用於其他用途。它是由一些轉換函數所傳回,並包含在報表和特定指令輸出中。
CSN 是由 Oracle GoldenGate 產生的單調增量 ID,可唯一識別交易確認至資料庫時的某個時間點。其目的是確保交易的一致性和資料完整性,因為交易是從來源複製到目標。每種資料庫管理系統會在每筆交易完成時,產生其專屬的一些唯一序號,如此可唯一識別該交易的確認。例如,Oracle RDBMS 會產生一個「系統變更編號」,這是由 Oracle RDBMS 指派給每個事件的單調遞增序號。CSN 會擷取此相同的識別資訊,並將其內部呈現為一連串的位元組,但 CSN 會以不受平台影響的方式處理。比較任何兩個 CSN 編號,每個編號都連結至相同日誌串流中的交易確認記錄,可靠地指出這兩個交易的完成順序。
CSN 會與交易 ID 進行交叉檢查 (在 Oracle GoldenGate 資訊輸出中顯示為 XID)。即使同時確認多個交易,因此具有相同的 CSN,XID-CSN 組合仍可唯一識別交易。例如,這可能發生在 Oracle RAC 環境中,並行性和交易並行性很高。
在任何識別交易確認的歷程檔記錄中,CSN 值都會儲存為權杖。此值可以使用 @GETENV 資料欄轉換函數擷取,並使用 Logdump 公用程式檢視。