資料串流疑難排解
| 症狀 | 可能原因 | 動作 |
|---|---|---|
| REST 傳回 401 | 證明資料遺漏或無效;代理主機認證不符。 | 驗證認證模式、加密密碼、相關時鐘,以及代理主機路由。請勿在 URL 中內嵌證明資料。 |
| REST 傳回 403 | 帳戶缺少必要的 User、Operator 或 Administrator 角色。 | 使用資料串流組態的先決條件中的角色表格,並僅授予必要的權限。 |
| WebSocket 傳回 404 或交握式確認失敗 | 硬式編碼的通道路徑;代理主機未路由或升級;錯誤的串流名稱。 | 擷取產生的 YAML 並使用其主機和通道位址。驗證 WebSocket 升級標頭。 |
| TLS 驗證失敗 | 不明的 CA、過期的憑證、主機不相符或遺漏用戶端憑證。 | 安裝正確的 CA 鏈結、確認 DNS 和憑證 SAN,並在需要時設定相互 TLS。 |
| 連線成功,但是沒有記錄到達 | begin=now 不含新的確認;篩選會排除資料;錯誤的歷程檔 / 路徑;擷取不會寫入。 |
產生已知的交易、檢查來源歷程檔、暫時簡化篩選條件,以及驗證串流來源。 |
| 第一個物件不是 DML | 資料之前應有綱要和描述資料記錄。 | 分類每個物件;快取綱要與描述資料,而不是將它們視為錯誤。 |
| JSON 剖析器預期物件但收到陣列 | WebSocket 訊息是一個批次。 | 剖析最上層陣列並重複其記錄。 |
用戶端無法與 pos 重新連線 |
權杖未編碼、更改、屬於另一個串流,或已永久清除歷程檔歷史記錄。 | 使用完全相同的已儲存記號、編碼百分比、驗證範圍,然後依照無法使用的位置復原程序進行。 |
| 會出現重複項目 | atLeastOnce;接收器寫入與檢查點之間的當機;兩個用戶共用檢查點;非等冪重試。 |
使用單元檢查點或冪等,並驗證服務品質和消費者擁有權。 |
| 復原後遺漏記錄 | atMostOnce 略過無法使用的位置;確認業務前儲存的檢查點;篩選已變更。 |
稽核復原事件、調節資料差距,然後針對持續性工作負載使用 exactlyOnce 加上正確的檢查點交易。 |
| 影像之前或之後缺少資料欄 | 來源記錄日誌或 Extract 擷取了部分影像;省略空值;選取的資料列模型。 | 檢查歷程檔擷取、omitNullColumnValues、模型以及程式實際執行綱要。請勿將缺勤欄位推斷為空值。 |
| 遺漏 DDL | 未擷取 DDL、篩選排除 DDL,或來源組態不支援預期的事件。 | 驗證來源 DDL 擷取,並將 DDL 包括在作業篩選中。 |
| 用戶在 DDL 之後失敗 | 快取的綱要過時或順流無法接受變更。 | 當新記錄到達時取代快取的綱要 / 描述資料,並執行受管理的綱要移轉原則。 |
| 大筆記錄被截斷或分割 | maxLobSize、maxDDLTextSize、maxRecordSize、代理限制或用戶端限制。 |
增加已驗證的限制、在支援時選取區塊處理,並提高代理主機 / 從屬端訊息限制。 |
| 數值精確度變更 | 剖析為二進位浮點數的 JSON 數字。 | 使用小數感知剖析或 treatAllColumnsAsStrings。 |
| 用戶記憶體成長 | 緩慢下游處理、無限制佇列、過大批次或重新連線迴圈。 | 界限佇列、從處理、調整批次大小以及調整或調節下游工作接收的去耦合。 |
| CloudEvents 用戶找不到欄位 | GoldenGate 記錄在 data 之下,或程式實際執行附加值與複製的範例不同。 |
取消包裝 data,並使用執行時期 YAML 與實際事件屬性。 |
要取得支援的資訊
-
Oracle GoldenGate 版本和部署類型。
-
統一資料流組態並產生 AsyncAPI YAML。
-
串流名稱、來源歷程檔和路徑、服務品質、篩選條件以及 JSON 設定值。
-
精確的 UTC 時間戳記、HTTP 狀態或 WebSocket 關閉代碼,以及 GoldenGate 訊息代碼。
-
最後一個已知的良好檢查點,以及其是否為百分比編碼;視需要保護或雜湊。
-
相關分配服務、擷取、代理主機及用戶日誌。
-
已處理的綱要 / 描述資料記錄和一個失敗的有效負載。
-
歷程檔保留狀態和要求的位置保持可用的證明。