Amazon Redshift가 구성된 Amazon RDS 제로 ETL 통합 문제 해결
Amazon Redshift에서 SVV_INTEGRATION 시스템 테이블을 쿼리하여 제로 ETL 통합의 상태를 확인할 수 있습니다. state
열의 값이 ErrorState
면 문제가 있다는 뜻입니다. 자세한 내용은 시스템 테이블을 사용한 통합 모니터링 단원을 참조하십시오.
다음 정보를 사용하여 Amazon Redshift가 구성된 Amazon RDS 제로 ETL 통합과 관련된 일반적인 문제를 해결하세요.
주제
제로 ETL 통합을 생성할 수 없습니다
제로 ETL 통합을 생성할 수 없는 경우 소스 데이터베이스에 대해 다음 사항이 올바른지 확인하세요.
-
소스 데이터베이스에서 지원되는 DB 엔진 버전을 실행 중이어야 합니다. 지원되는 버전 목록은 Amazon Redshift와 Amazon RDS 제로 ETL 통합을 지원하는 리전 및 DB 엔진 섹션을 참조하세요.
-
DB 파라미터를 올바르게 구성했습니다. 필수 파라미터가 잘못 설정되었거나 데이터베이스와 연결되지 않은 경우 생성에 실패합니다. 1단계: 사용자 지정 DB 파라미터 그룹 생성 섹션을 참조하세요.
또한 대상 데이터 웨어하우스에 대해 다음 사항이 올바른지 확인하세요.
-
대소문자 구분이 활성화되어 있습니다. 데이터 웨어하우스에 대소문자 구분 기능 사용 설정을 참조하세요.
-
올바른 권한 있는 보안 주체 및 통합 소스를 추가했습니다. Amazon Redshift 데이터 웨어하우스에 대한 권한 구성을 참조하세요.
-
데이터 웨어하우스는 암호화되어 있습니다(프로비저닝된 클러스터인 경우). Amazon Redshift 데이터베이스 암호화를 참조하세요.
내 통합이 Syncing
상태에서 멈췄습니다.
필수 DB 클러스터 파라미터 중 하나의 값을 변경하면 통합에서 Syncing
상태가 일관되게 표시될 수 있습니다.
이 문제를 해결하려면 소스 데이터베이스와 연결된 파라미터 그룹의 파라미터 값을 살펴보고, 필수 값과 일치하는지 확인하세요. 자세한 내용은 1단계: 사용자 지정 DB 파라미터 그룹 생성 단원을 참조하십시오.
파라미터를 수정할 경우 데이터베이스를 재부팅하여 변경 사항을 적용해야 합니다.
내 테이블이 Amazon Redshift에 복제되지 않는 경우
Amazon Redshift에 하나 이상의 표가 반영되지 않는 경우 다음 명령을 실행하여 표를 다시 동기화할 수 있습니다.
ALTER DATABASE
dbname
INTEGRATION REFRESH TABLEStable1
,table2
;
자세한 내용은 Amazon Redshift SQL 참조의 ALTER DATABASE를 참조하세요.
하나 이상의 원본 테이블에 프라이머리 키가 없어 데이터가 복제되지 않을 수 있습니다. Amazon Redshift의 모니터링 대시보드에는 이러한 테이블의 상태가 Failed
로 표시되고 전체 제로 ETL 통합 상태는 Needs attention
으로 변경됩니다. 이 문제를 해결하려면 테이블에서 프라이머리 키가 될 수 있는 기존 키를 식별하거나 가상 프라이머리 키를 추가할 수 있습니다. 자세한 해결 방법은 Amazon Redshift를 사용해 Amazon Aurora MySQL 또는 Amazon RDS for MySQL 제로 ETL 통합을 생성하는 동안 프라이머리 키가 없는 테이블 처리
Amazon Redshift 테이블 중 하나 이상을 재동기화해야 합니다
소스 데이터베이스에서 특정 명령을 실행하려면 테이블을 재동기화해야 할 수 있습니다. 이러한 경우 SVV_INTEGRATION_TABLE_STATE 시스템 뷰에 ResyncRequired
의 table_state
가 표시됩니다. MySQL의 해당 테이블에서 Amazon Redshift로 데이터를 완전히 다시 로드해야 한다는 의미입니다.
테이블이 재동기화되기 시작하면 Syncing
상태가 됩니다. 테이블을 재동기화하기 위해 수동 작업을 수행할 필요가 없습니다. 테이블 데이터가 재동기화되는 동안에는 Amazon Redshift에서 액세스하지 못할 수도 있습니다.
다음은 테이블을 ResyncRequired
상태로 전환할 수 있는 몇 가지 예제 작업과 고려할 수 있는 대안입니다.
Operation | 예 | 대안 |
---|---|---|
특정 위치에 열 추가 |
|
Amazon Redshift는 first 또는 after 키워드를 사용하여 특정 위치에 열을 추가하는 것을 지원하지 않습니다. 대상 테이블의 열 순서가 중요하지 않은 경우 다음과 같은 간단한 명령을 사용하여 테이블 끝에 열을 추가합니다.
|
기본값 CURRENT_TIMESTAMP 로 타임스탬프 열 추가 |
|
기존 표 행의 CURRENT_TIMESTAMP 값은 RDS for MySQL에서 계산되며, 전체 표 데이터를 재동기화하지 않고는 Amazon Redshift에서 시뮬레이션할 수 없습니다.가능하면 기본값을 리터럴 상수(예: |
단일 명령 내에서 여러 열 작업 수행 |
|
명령을 2개의 개별 작업(ADD , RENAME )으로 분할하여 재동기화할 필요가 없도록 하는 것이 좋습니다. |