診斷問題

串流在執行階段可能會發生錯誤。

  • 部分錯誤 (例如來源資料庫的密碼有誤) 可以復原,也就是說,修正後串流就會自動繼續。
  • 錯誤可能會影響單一物件,例如含有不支援資料類型的事件。其他錯誤可能會影響多個物件或整個串流,例如 Datastream 無法連線至來源資料庫。
  • 系統會視錯誤情況,在 Datastream 使用者介面的「Streams」(串流) 或「Stream details」(串流詳細資料) 頁面提供相關資訊。您也可以使用 Datastream 的 API 擷取錯誤相關資訊。

如要排解錯誤,請前往串流查看錯誤,然後按照錯誤訊息中的步驟操作。

本頁面提供設定、連線、Oracle 和 MySQL 錯誤的相關資訊,以及排解錯誤的步驟。

設定和連線錯誤

錯誤 疑難排解步驟
無法連線至來源資料庫 (一般)。

可能的原因有很多,如要排解這項錯誤,請按照下列步驟操作:

  1. 確認來源資料庫已啟動且可連線。
  2. 從「串流」或「連線設定檔」頁面,前往來源連線設定檔。
  3. 確認連線設定檔的連線資訊正確無誤。
  4. 確認使用者名稱和密碼相符。
  5. 確認資料庫中存在該使用者名稱,且使用者具備必要權限。
  6. 儲存您在「連線設定檔」頁面所做的變更。

系統會自動繼續播放串流內容。

無法連線至來源資料庫 (IP 位址允許清單)。 如果選擇的連線方式是「IP 許可清單」,但來源資料庫未正確新增一或多個 Datastream 的輸出 IP 位址,就可能發生這種情況。請確認網路防火牆已設定 Datastream 連線設定檔中顯示的傳出 IP 位址,來源資料庫伺服器才能接受這些 IP 位址傳出的連線。問題解決後,系統就會自動繼續串流。
無法連線至來源資料庫 (轉送 SSH 通道)。 如果轉送 SSH 通道發生問題,就可能出現這種情況。檢查通道的狀態。如果通道已停止,則必須啟動。問題解決後,系統就會自動繼續串流。
Datastream 無法透過轉送 SSH 通道連線至防禦主機。 請確認已在來源連線設定檔中正確設定轉送 SSH 通道,而且 SSH 通道伺服器的埠已開啟。
憑證有誤,因此無法連線至來源資料庫。 如果定義來源連線設定檔時提供的憑證有問題,就可能會發生這種情況。前往「連線設定檔」頁面,然後選取指定連線設定檔。確認憑證設定正確無誤。完成變更後,請儲存連線設定檔,串流就會自動繼續。
無法使用私人連線連線至來源資料庫。 這個錯誤與虛擬私有雲對等互連私人連線方法有關。
  1. 請確認已完成所有必要條件 VPC 對等互連必要條件
  2. 建立私人連線設定後,請確認包含資料庫內部 IP 位址的路由是否顯示在「VPC Network Peering」(虛擬私有雲網路對等互連) 頁面的「Exported routes」(匯出路由) 分頁中。

    如要這麼做,請前往「虛擬私有雲網路對等互連」頁面,然後搜尋已新增的對等互連 (名稱為 peering-[UUID])。您可以在「匯出的路徑」分頁中找到路徑。如果沒有這個路徑,請手動新增。

  3. Datastream 不會檢查是否與動態對等互連路徑重疊。如果提供的子網路與動態路徑重疊,可能會導致連線問題。因此,我們不建議使用屬於動態路徑的子網路。
  4. 確認 Datastream IP 位址範圍的自訂路由已正確通告。如果缺少自訂路徑,請參閱「自訂 advertise 路由」。
  5. 如果仍無法連線至來源資料庫,請參閱「設定反向 Proxy」。
無法使用 Private Service Connect 介面連線至來源資料庫。
  1. 請確認已完成所有必要條件
  2. 確認防火牆規則允許所提供網路連結的子網路連線至來源資料庫。
  3. 確認 Datastream IP 位址範圍的自訂路由已正確通告。如果缺少自訂路徑,請參閱「自訂 advertise 路由」。
如果已啟用機構政策限制/datastream.disablePublicConnectivity,則不允許使用 STATIC_SERVICE_IP_CONNECTIVITY 連線類型。

您為要建立的連線設定檔選擇了公開 IP 許可清單或轉送安全殼層通道網路連線方法。不過,系統已啟用 Datastream 的「封鎖公開連線方法」機構政策。因此,您無法為連線設定檔選取公開連線方法。

如要解決這個問題,請選取私人 VPC 對等互連Private Service Connect 介面網路連線方法,或是停用機構政策。

如要停用機構政策,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Organization policies」(機構政策) 頁面。
  2. 選取「Datastream - Block Public Connectivity Methods」(Datastream - 封鎖公開連線方法) 機構政策。
  3. 點選「編輯」

  4. 在頁面的「套用對象」部分選取「自訂」
  5. 在「強制執行」部分,選取「關閉」

  6. 按一下 [儲存]
  7. 返回您要建立的 Oracle 連線設定檔,然後按一下「建立」
設定串流的來源資料庫時,我找不到要移轉的資料表和結構定義。

如果資料庫有數千個資料表和結構定義,就可能發生這種情況。在 Google Cloud 控制台中設定串流的來源時,部分物件可能不會納入要提取的物件清單。在「選取要納入的物件」部分中,選取「自訂」,而非「特定結構定義和資料表」。在「物件比對條件」欄位中,輸入要讓 Datastream 擷取的結構定義和資料表。

我已使用「要納入的物件」選單,將多個資料表新增至串流。不過,查看「串流詳細資料」中的「物件」分頁時,卻發現缺少部分表格。 請確保每個資料表至少有一次 CDC 更新,這樣 Datastream 才能辨識變更,並自動將資料表納入串流。
在 Google Cloud 控制台使用「要納入的物件」選單時,無法載入物件清單。 如果資料庫的結構定義和資料表超過 5,000 個,就可能發生這種情況。請使用其他方法指定要納入的物件,或使用 Datastream API。詳情請參閱「設定來源資料庫」。
串流期間捨棄的事件,不會複製到目的地。

Datastream 可能會在串流期間捨棄不支援的事件。如要解決這個問題,請採取下列行動:

  • 手動觸發整個資料表的補充作業。如果捨棄的事件僅為 UPSERT 事件,這項功能就能正常運作。如果捨棄的事件包含 DELETE 事件,您必須先截斷 BigQuery 中的資料表,再執行回填作業。

    如要瞭解如何執行補充作業,請參閱「啟動補充作業」。

  • 請與 Google 支援團隊聯絡,要求對方執行部分回填。只有在您能使用 SQL WHERE 子句找出捨棄的事件,且沒有任何事件是 DELETE 事件時,才能執行這項操作。
  • 如果捨棄的事件數量不多,或捨棄的事件不重要,請忽略這個問題。
嘗試連線至資料來源時逾時。請確認主機名稱和通訊埠設定正確無誤,且資料來源可存取。 使用虛擬私有雲對等互連時,Datastream 網路無法直接與私人服務網路 (例如 Cloud SQL 執行個體) 對等互連,因此您需要使用網路位址轉譯 (NAT) VM,在 Datastream 與資源之間建立連線。如要進一步瞭解如何設定 NAT VM,請參閱「設定 VPC 對等互連」。
物件 OBJECT_NAME 的結構定義過大,Datastream 無法處理。 Datastream 不支援複製相應來源結構定義大於 2,621,440 個 Unicode 字元的事件。這些事件會因下列原因代碼而遭到捨棄:UNSUPPORTED_LARGE_SCHEMA。您可能需要排除或重新命名部分資料欄。或者,您也可以排除具有大型結構定義的物件。
串流狀態已變更。 造成這項錯誤的原因可能不只一個,但常見的基本問題是來源設定無效。如果串流無法啟動並顯示這則錯誤訊息,請檢查來源設定是否有重複的鍵或表格名稱、資料不一致或結構定義衝突。許多問題都能直接在 Google Cloud 控制台中編輯失敗的串流設定,並調整納入和排除的物件項目來解決。詳情請參閱「修改來源資料庫的設定資訊」。

Oracle 錯誤

錯誤 疑難排解步驟
來源資料庫的增補記錄設定有誤。

如果來源資料庫的增補記錄設定不正確,就可能發生擷取進行中變更資料擷取 (CDC) 資料時發生錯誤。確認補充記錄設定正確無誤。具體來說,請確認從來源串流至目的地的資料庫資料表已啟用補充記錄。系統會自動繼續播放串流內容。

記錄檔位置遺失,因此無法繼續複製。 如果複製程序暫停時間過長,導致記錄位置遺失,就可能發生這項錯誤。請勿將串流暫停的時間長度接近記錄檔保留期限。重新建立串流。
記錄檔遺失 (部分或全部)。

記錄檔可能已遭刪除。除非您指定最短輪替週期來保留記錄檔,否則 Oracle 會在記錄檔可刪除時立即清除。在 Oracle 伺服器中,設定記錄檔的保留時間。舉例來說,使用 CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS; 可保留記錄檔至少 4 天。

如為 RDS 部署項目,請使用 exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',96);

排除清單包含納入清單。 納入清單的內容全都在排除清單中,因此 Datastream 從來源提取物件的清單空白。請修改物件選項,然後再試一次。