소스 데이터베이스에 테이블이 있을 때 AWS DMS 태스크의 "ERROR: No tables were found at task initialization" 오류를 해결하려면 어떻게 해야 하나요?

3분 분량
0

AWS Database Migration Service(AWS DMS)를 사용하여 데이터를 마이그레이션하려고 할 때 "ERROR: No tables were found at task initialization" 오류가 발생했습니다. 하지만 테이블은 소스 데이터베이스에 있습니다.

간략한 설명

"No tables were found at task initialization" 오류가 발생하는 데에는 다음과 같은 몇 가지 이유가 있습니다.

  • AWS DMS 매핑 규칙이 잘못 정의되었습니다.
  • 소스 테이블을 가져오는 데 필요한 권한이 없습니다.

이 오류의 원인은 구성 및 사용하는 데이터베이스 엔진에 따라 달라집니다. 이 문제를 해결하려면 사용 사례와 관련된 문제 해결 단계를 수행니다.

해결 방법

매핑 규칙이 잘못 정의된 경우

AWS DMS가 소스로 사용할 수 있도록 지원하는 일부 데이터베이스 엔진은 Oracle 또는 DB2와 같이 대소문자를 구분합니다. 따라서 Oracle 또는 DB2를 AWS DMS의 소스로 사용하는 경우 테이블 이름, 보기 이름 및 열 이름은 대문자를 사용해야 합니다.

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

AWS DMS 매핑 규칙 및 엔드포인트 설정은 다양한 소스 엔진에서 작동해야 하므로 대소문자를 구분합니다. AWS DMS 태스크에 지정된 객체 이름이 소스 데이터베이스 이름과 다르면 태스크가 실패합니다.

이 문제를 해결하려면 다음 사항을 확인합니다.

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

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

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

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

다음 예시에서는 Oracle을 소스로 사용하는 매핑 규칙에서 소문자 객체 이름을 사용합니다.

{
  "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 태스크가 실패합니다.

다음 예시에서는 Oracle을 소스로 사용하는 매핑 규칙에서 대문자 객체 이름을 사용합니다.

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

이 예시에서는 태스크가 실패하지 않습니다.

소스 테이블을 가져오는 데 필요한 권한이 없는 경우

AWS DMS에서 소스 테이블을 가져오는 데 필요한 권한이 있는지 확인합니다.

Oracle을 소스 엔드포인트로 사용하는 경우 Oracle을 소스 엔드포인트로 사용할 때 AWS DMS에 필요한 권한은 무엇인가요?를 참조하세요.

각 소스 데이터베이스 엔진의 권한에 대한 자세한 내용은 데이터 마이그레이션용 소스를 참조하세요.


관련 정보

AWS Database Migration Service의 마이그레이션 태스크 문제 해결

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음