本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Oracle 故障診斷 GoldenGate
本節說明 GoldenGate 搭配 Amazon RDS for Oracle 使用 Oracle 時最常見的問題。
開啟線上重做日誌時發生錯誤
確定您己將資料庫設定為保留封存的重做日誌。請考量下列準則:
-
指定記錄保留的持續時間 (以小時為單位)。最小值為一小時 。
-
將持續時間設定為超過來源資料庫執行個體的任何潛在停機時間、通訊的任何潛在期間,以及來源資料庫執行個體聯網問題的任何潛在期間。這種持續時間可讓 Oracle 視需要從來源資料庫執行個體 GoldenGate 復原日誌。
-
請確定執行個體有足夠的儲存空間可存放這些檔案。
如果未啟用日誌保留,或如果保留值太小,您會收到如下訊息:
2022-03-06 06:17:27 ERROR OGG-00446 error 2 (No such file or directory) opening redo log /rdsdbdata/db/GGTEST3_A/onlinelog/o1_mf_2_9k4bp1n6_.log for sequence 1306 Not able to establish initial position for begin time 2022-03-06 06:16:55.
Oracle GoldenGate 似乎已正確設定,但複寫無法運作
對於預先存在的資料表,您必須指定 Oracle 從SCN中 GoldenGate 工作的 。
修正此問題
-
登入來源資料庫並啟動 Oracle GoldenGate 命令列介面 (
ggsci
)。以下範例會顯示登入的格式。dblogin userid oggadm1@OGGSOURCE
-
使用
ggsci
命令列,設定EXTRACT
程序SCN的開始。下列範例會將 設定為 SCN 223274EXTRACT
。ALTER EXTRACT EABC SCN 223274 start EABC
-
登入目標資料庫。以下範例會顯示登入的格式。
dblogin userid oggadm1@OGGTARGET
-
使用
ggsci
命令列,設定REPLICAT
程序SCN的開始。下列範例會將 設定為 SCN 223274REPLICAT
。start RABC atcsn 223274
因查詢 SYS."_DBA_APPLYCDR_INFO_" 而整合REPLICAT緩慢
Oracle GoldenGate 衝突偵測和解決 (CDR) 提供基本的衝突解決常式。例如, CDR可以解決INSERT
陳述式的唯一衝突。
當 CDR解決衝突時,它可以_DBA_APPLY_CDR_INFO
暫時將記錄插入例外資料表。整合的 REPLICAT
稍後會刪除這些記錄。在極少數情況下,整合的 REPLICAT
可以處理大量的碰撞,但新的整合 REPLICAT
不會取代它。不是被刪除,而是 _DBA_APPLY_CDR_INFO
中的現有資料列是孤立的。任何新的整合 REPLICAT
程序都會變慢,因為它們正在查詢 _DBA_APPLY_CDR_INFO
中的孤立資料列。
若要從 移除所有資料列_DBA_APPLY_CDR_INFO
,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_util.truncate_apply$_cdr_info
。此程序是作為 2020 年 10 月發行版本和修補程式更新的一部分發行。此程序可在下列資料庫版本中提供:
下列範例會截斷資料表 _DBA_APPLY_CDR_INFO
。
SET SERVEROUTPUT ON SIZE 2000 EXEC rdsadmin.rdsadmin_util.truncate_apply$_cdr_info;