Oracle 故障診斷 GoldenGate - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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 工作的 。

修正此問題
  1. 登入來源資料庫並啟動 Oracle GoldenGate 命令列介面 (ggsci)。以下範例會顯示登入的格式。

    dblogin userid oggadm1@OGGSOURCE
  2. 使用ggsci命令列,設定EXTRACT程序SCN的開始。下列範例會將 設定為 SCN 223274EXTRACT

    ALTER EXTRACT EABC SCN 223274 start EABC
  3. 登入目標資料庫。以下範例會顯示登入的格式。

    dblogin userid oggadm1@OGGTARGET
  4. 使用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;