Oracle GoldenGate導致IMP出現ORA-32588錯誤
客戶說在向實施GG之後的源庫匯入資料收到如下的報錯:
從這個報錯可以看出,為表添加的ALL COLUMN等類型的補充日誌導致資料匯入失敗。
回想Oracle GoldenGate的實施步驟,在做以下操作時,Oracle GoldenGate會根據表的情況添加適當的補充日誌:
ADD TRANDATA .;
由於客戶的資料庫的某些表沒有主鍵或唯一鍵標識表行的唯一性,所以Oracle GoldenGate自動的為這部分表添加了ALL COLUMN等類型的補充日誌,用整個行來標識表行資料的唯一性,這是Oracle GoldenGate正常的行為。
參考Oracle對該錯誤的解釋:
ORA-32588: supplemental logging attribute string exists
Cause: specified supplemental logging attribute exits.
Action: retry the alter/create ddl after removing this supplemental logging attribute.
執行ALTER TABLE XXX DROP SUPPLEMENTAL LOG DATA (ALL) COLUMNS;等命令將表對應的補充日誌刪除之後再次嘗試匯入。
當然最好且最簡單的辦法是執行如下的GoldenGate命令準確的卸載表對應的補充日誌:
GGSCI> DELETE TRANDATA .;
--end--
GoldenGate單向表DML同步
Oracle GoldenGate 系列:Extract 進程的恢複原理
Oracle GoldenGate安裝配置
Oracle goldengate的OGG-01004 OGG-1296錯誤
Oracle GoldenGate快速入門教程:基本概念和配置
搭建一個Oracle到Oracle的GoldenGate雙向複製環境