소스 데이터베이스에 테이블이 있을 때 AWS DMS의 "오류: 태스크 초기화 시 테이블을 찾을 수 없음" 오류를 해결하려면 어떻게 해야 합니까?

최근 업데이트 날짜: 2022-07-27

AWS Database Migration Service(AWS DMS)를 사용하여 데이터를 마이그레이션하려고 할 때 "오류: 태스크 초기화 시 테이블을 찾을 수 없음" 오류가 발생했습니다. 하지만 테이블은 내 소스 데이터베이스에 있습니다. 이 오류가 발생한 이유는 무엇이며 오류를 해결하려면 어떻게 해야 합니까?

간략한 설명

사용 중인 데이터베이스 엔진에 따라 "태스크 초기화 시 테이블을 찾을 수 없음" 오류가 표시되는 이유는 여러 가지가 있습니다. AWS DMS가 소스로 사용할 수 있도록 지원하는 일부 데이터베이스 엔진은 Oracle 또는 DB2와 같이 대소문자를 구분합니다. 따라서 Oracle 또는 DB2를 AWS DMS의 소스로 사용하는 경우 테이블 이름, 보기 이름 및 열 이름은 대문자를 사용해야 합니다.

이에 비해 MySQL 및 PostgreSQL과 같은 데이터베이스 엔진은 기본적으로 모든 객체에 대해 소문자를 사용합니다. 자세한 내용은 소스 필터 사용을 참조하세요.

AWS DMS 매핑 규칙 및 엔드포인트 설정은 다양한 소스 엔진에서 작동하도록 설계되었으므로 대소문자를 구분합니다. AWS DMS 태스크에 지정된 객체 이름이 소스 데이터베이스 이름과 다른 경우 AWS DMS 태스크가 실패하고 "태스크 초기화 시 테이블을 찾을 수 없음" 오류가 발생합니다.

해결 방법

이 오류를 해결하려면 다음을 수행하세요.

1. FSP 테이블이 소스에 있고 태스크가 시작되기 전에 삭제되지 않았는지 확인합니다.

2. FSP 소스에 테이블이 있는 경우 객체 이름이 소스 데이터베이스 이름과 정확히 일치하는지 확인합니다.

예를 들어 Oracle 데이터베이스를 소스로 사용하는 경우 Oracle은 다음과 같은 객체 이름을 사용합니다.

  • 소스 데이터베이스 SID: ORCL - Oracle 소스 엔드포인트 데이터베이스 이름을 설정하는 데 사용합니다.
  • 소스 데이터베이스 스키마 이름: ADMIN - 선택 매핑 규칙에 사용합니다.
  • 소스 데이터베이스 테이블 이름: TEST - 선택 매핑 규칙에 사용합니다.

이 예에서는 Oracle을 소스로 사용하는 매핑 규칙에서 소문자 객체 이름을 사용합니다. 따라서 Oracle은 대문자 객체 이름을 요구하므로 AWS DMS 태스크는 "태스크 초기화 시 테이블을 찾을 수 없음" 오류와 함께 실패합니다.

{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "1",
      "object-locator": {
        "schema-name": "admin",
        "table-name": "test"
      },
      "rule-action": "include",
      "filters": [

      ]
    }

이 예에서는 Oracle을 소스로 사용하는 매핑 규칙에서 대문자 객체 이름을 사용하며, AWS DMS 태스크는 실패하지 않습니다.

{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "1",
      "object-locator": {
        "schema-name": "ADMIN",
        "table-name": "TEST"
      },
      "rule-action": "include",
      "filters": [

      ]
    }

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?