在 SQL Server 2008 R2 環境啟用 Oracle GoldenGate (GG) 後,發現資料庫交易記錄檔持續增長,甚至佔滿磁碟空間,影響資料庫正常運作。
ggerror.log 是否有報錯資訊-- 啟用擴展記錄
ADD TRANDATA dbo.tbl01
-- 重要:啟用後必須停用 Agent 中對應的 CDC Capture Job
-- 否則會造成記錄無法截斷
在 Extract 參數檔中加入:
TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
此參數讓 GG 管理次要截斷點,確保記錄可被正常清理。
若上述配置皆正確但記錄仍暴增,需重新配置 GG 環境:
DELETE TRANDATA dbo.tbl01
DELETE EXTRACT extrate
DELETE EXTTRAIL S:\gg\dirdat\rt
DELETE EXTRACT pumprate
DELETE RMTTRAIL s:\gg\dirdat\rt
DBCC OPENTRAN
GO
EXECUTE sp_repltrans
GO
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL,
@numtrans = 0, @time = 0, @reset = 1
GO
⚠ 若不執行此步驟,重新配置後記錄仍可能暴增
USE test
GO
EXEC sys.sp_cdc_disable_db
GO
GoldenGate 透過 sp_repldone 重置複寫標記,配合 MANAGESECONDARYTRUNCATIONPOINT 讓記錄截斷點正常推進,避免 VLF (Virtual Log Files) 無法釋放導致記錄檔持續增長。