如何針對導致我的 AWS DMS 遷移任務失敗的端點問題進行疑難排解?
我的 AWS Database Migration Service (AWS DMS) 任務在完整載入和變更資料擷取 (CDC) 階段失敗,而且我遇到端點問題和資料庫特定錯誤。
解決方法
檢閱您的端點連線組態
- 開啟 AWS DMS console (AWS DMS 主控台)。
- 在導覽窗格中,選擇 Migrate or replicate (遷移或複寫)。
- 選擇 Tasks (任務),然後選取您的任務。
- 在 Details (詳細資訊) 索引標籤中,檢查 Connectivity and security (連線能力和安全性) 區段中的複寫執行個體名稱,以確認您使用正確的複寫執行個體。
- 在 Summary (摘要) 區段中,選取來源或目標端點,以檢閱其端點介面。
- 選擇 Connections (連線) 索引標籤,然後選擇 Test Connections (測試連線)。
- 選擇 Replication (複寫) 執行個體,然後選擇 Run Test (執行測試)。
如果連線能力測試因網路組態而顯示 Failed (失敗) 狀態,您會收到以下逾時錯誤訊息:
針對 Oracle:
「Test Endpoint failed: Application-Status: 1020912, Application-Message: ORA-12170: TNS:Connect timeout occurred OCI connection failure.」
針對 PostgreSQL:
「Test Endpoint failed: Application-Status: 1020912, Application-Message: Failed to connect Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: 」
針對 Amazon DocumentDB (with MongoDB compatibility):
「Test Endpoint failed: Application-Status: 1020912, Application-Message: Failed to create new client connection Failed to connect to database., Application-Detailed-Message: Error verifying connection」
若要解決此問題,請參閱如何對 AWS DMS 端點連線失敗進行疑難排解?接著,再次測試連線。
檢閱端點身分驗證組態
AWS DMS 端點的連線能力測試可能會顯示身分驗證錯誤訊息。若要對身分驗證錯誤訊息進行疑難排解,請確認您已正確設定 AWS DMS 端點的存取權。
請完成以下步驟:
- 開啟 AWS DMS console (AWS DMS 主控台)。
- 在導覽窗格中,選擇 Migrate or replicate (遷移或複寫)。
- 選擇 Endpoints (端點),然後選取您的端點。
- 選擇 Actions (動作),然後選擇 Modify (修改)。
- 在 Endpoint Configuration (端點組態) 區段中,檢閱 Access to endpoint database (存取端點資料庫) 的以下項目:
如果您選取 provide the access information manually (手動提供存取資訊),請檢查您在 server name (伺服器名稱) 欄位中定義的主機未包含連接埠 (3306) 或通訊協定 (HTTP)。請確認您在資料庫中指定相同的使用者名稱、密碼和 SSL 值。
如果您選取 AWS Secrets Manager (AWS Secrets Manager),並選取正確的 Secrets Manager 和 SSL 模式,請參閱常見的 AWS DMS 先決條件和使用 AWS Secrets Manager 設定 Amazon VPC 端點。
如果您選取 Kerberos Authentication (Kerberos 身分驗證),並使用正確的伺服器名稱、連接埠和使用者名稱,請參閱先決條件和搭配 AWS DMS 使用 Kerberos 身分驗證的限制。
如果您選取 IAM Authentication (IAM 身分驗證),並使用正確的伺服器名稱、連接埠、使用者名稱和 AWS Identity and Access Management (IAM) 角色,請檢查您是否已將正確的政策連接至 IAM 角色。如需更多資訊,請選擇在 AWS DMS 中設定 Amazon RDS 端點的 IAM 身分驗證中的 DMS Console (DMS 主控台) 索引標籤,並參閱IAM 資料庫身分驗證的限制。
檢閱端點設定和 ECA
如果您執行任務時使用 Oracle 可插拔資料庫 (PDB) 作為來源,可能會收到以下錯誤訊息:
「Test Endpoint failed: Application-Status: 1020912, Application-Message: Log Miner is not supported in Oracle PDB environment Endpoint initialization failed.」
發生此錯誤的原因是,您將複寫方法設定為 Log Miner,而不是 Binary Reader。
若要變更 AWS DMS 任務使用的複寫方法,請完成以下步驟:
- 開啟 AWS DMS console (AWS DMS 主控台)。
- 在導覽窗格中,選擇 Migrate or replicate (遷移或複寫)。
- 選擇 Tasks (任務),然後選取您的任務。
- 在 Summary (摘要) 區段中,選取陳述式來源連結。
- 選擇 Actions (動作),然後選擇 Modify (修改)。
- 在 Endpoint Settings (端點設定) 中,選擇 Use endpoint connection attributes (使用端點連線屬性)。
- 若要將複寫方法設定為 Binary Reader,請在 Extra connection attributes (ECAs) (額外連線屬性 (ECA)) 欄位中輸入 useLogMinerReader=N;useBfile=Y; 屬性。
- 選擇 Save (儲存)。
檢閱查詢逾時錯誤
啟動 AWS DMS 任務時,您可能會收到以下 PostgreSQL 查詢逾時錯誤訊息:
「]E: RetCode: SQL_ERROR SqlState: 57014 NativeError: 1 Message: ERROR: canceling statement due to statement timeout; Error while executing the query [1022502] (ar_odbc_stmt.c:2738)」
若要針對 AWS DMS 任務要求調整來源資料庫上的 executeTimeout 參數,請完成以下步驟:
- 開啟 AWS DMS console (AWS DMS 主控台)。
- 在導覽窗格中,選擇 Endpoints (端點),然後選取您的端點。
- 選擇 Action (動作),然後選擇 Modify (修改)。
- 在 Endpoint Settings (端點設定) 區段中,選擇 Use endpoint connection attributes (使用端點連線屬性)。
- 若要設定自訂的 executeTimeout,請在 Extra connection attributes (ECAs) (額外連線屬性 (ECA)) 欄位中輸入 executeTimeout=3600;。
- 選擇 Save (儲存)。
如果您仍遇到逾時問題,請參閱如何對因錯誤訊息「ERROR: canceling statement due to statement timeout」而失敗的 AWS DMS 任務進行疑難排解?
相關資訊
- 語言
- 中文 (繁體)

相關內容
已提問 2 年前
已提問 3 年前