Amazon Redshift 클러스터의 구체화된 보기가 새로 고쳐지지 않는 이유는 무엇입니까?

3분 분량
0

Amazon Redshift 클러스터의 구체화된 보기가 새로 고쳐지지 않습니다. 이런 일이 발생하는 이유는 무엇이고 구체화된 보기를 새로 고침하려면 어떻게 해야 합니까?

간략한 설명

다음 시나리오에서는 Amazon Redshift의 구체화된 보기가 새로 고쳐지지 않거나 완료하는 데 시간이 오래 걸릴 수 있습니다.

  • 권한 오류로 인해 REFRESH MATERIALIZED VIEW가 실패함
  • 오류 메시지가 표시됩니다. 잘못된 작업: 동시적인 정리 및 자르기로 인해 기본 테이블이 물리적으로 변경되었으므로 구체화된 보기 mv_name을 새로 고칠 수 없습니다. 다시 시도해 주세요.
  • REFRESH MATERIALIZED VIEW는 갱신할 수 없음
  • REFRESH MATERIALIZED VIEW가 제출되었고 오래 실행됨
  • 활성 워크로드로 인해 자동화된 새로 고침에 새로 고침 활동이 표시되지 않음

해결 방법

권한 오류로 인해 REFRESH MATERIALIZED VIEW가 실패함

소유자만 구체화된 보기에서 REFRESH MATERIALIZED VIEW 작업을 수행할 수 있습니다. 또한 다음과 같은 권한이 있어야 합니다.

  • 기본 테이블에 대한 SELECT 권한
  • 스키마에 대한 USAGE 권한

구체화된 보기가 증분 새로 고침이 아닌 전체 재계산인 경우 스키마에 대한 CREATE 권한도 필요합니다. 권한을 정의하려면 GRANT을 참조하세요. 자세한 내용은 구체화된 보기 자동 새로 고침을 참조하세요.

잘못된 작업: 동시적인 정리 및 자르기로 인해 기본 테이블이 물리적으로 변경되었으므로 구체화된 보기 mv_name을 새로 고침할 수 없습니다. 다시 시도해 주세요.

이 오류는 REFRESH MATERIALIZED VIEWVACUUM이 기본 테이블에서 동시에 실행되도록 제출될 때 발생합니다. 작업이 완료된 후 REFRESH MATERIALIZED VIEW를 다시 제출할 수 있습니다.

REFRESH MATERIALIZED VIEW는 갱신할 수 없음

새로 고칠 수 없는 구체화된 보기는 다음과 같은 작업으로 인해 발생할 수 있습니다.

  • 열 이름을 바꾸거나 열을 삭제합니다.
  • 열 유형을 변경합니다.
  • 기본 테이블 또는 스키마의 이름 변경

참고: 이 조건의 구체화된 보기는 쿼리할 수 있지만 새로 고칠 수는 없습니다. 선행하는 제약 조건은 열이 구체화된 보기에서 사용되지 않는 경우에도 적용됩니다.

구체화된 보기의 데이터가 오래되었는지 여부와 구체화된 보기 상태 정보를 확인하려면 STV_MV_INFO를 사용하세요. 구체화된 보기의 새로 고침 작업을 보려면 SVL_MV_REFRESH_STATUS를 사용하세요. 이와 같이 새로 고칠 수 없는 구체화된 보기 상태에서는 구체화된 보기를 삭제하고 다시 생성해야 구체화된 보기를 최신 상태로 유지할 수 있습니다.

다음은 표시될 수 있는 예제 오류 메시지입니다.

```Detail: Procedure <mv_sp_*****_2_1>  does not exist```
```column <column name> does not exist```
```DETAIL:  schema "<schema name>" does not exist ;```
```ERROR: Materialized view <mv namme> is unrefreshable as a base table was renamed.```

REFRESH MATERIALIZED VIEW가 제출되었고 오래 실행됨

REFRESH MATERIALIZED VIEW는 클러스터에서 실행되는 일반 쿼리로 작동합니다. 쿼리가 실행 중인지 확인하려면 다음을 수행합니다.

  • 데이터에서 실행 중인 활성 쿼리를 보려면 STV_INFLIGHT를 사용하세요.
  • 워크로드 관리(WLM)를 통해 쿼리 트랙의 현재 상태를 기록하려면 STV_WLM_QUERY_STATE를 사용하세요.
  • 컴퓨팅 노드에서 활발하게 실행 중인 쿼리 및 쿼리 단계의 정보를 찾으려면 STV_EXEC_STATE를 사용하세요.

REFRESH MATERIALIZED VIEW 작업 성능에는 다음 요소가 적용됩니다.

  • 테이블 잠금: 데이터베이스의 테이블에 대한 최신 업데이트를 보려면 STV_LOCKS를 참조하세요.
  • 할당된 리소스: WLM의 서비스 클래스 구성을 보려면 STV_WLM_SERVICE_CLASS_CONFIG를 참조하세요.
  • 새로 고침 유형: 증분 또는 전체 새로 고침. 구체화된 보기에서 수행한 새로 고침 유형을 보려면 SVL_MV_REFRESH_STATUS를 참조하세요.

REFRESH MATERIALIZED VIEW 성능이 느리면 쿼리 성능 개선을 참조하세요.

활성 워크로드로 인해 자동화된 새로 고침에 새로 고침 활동이 표시되지 않음

Amazon Redshift는 자동 새로 고침보다 워크로드를 우선시합니다. 이러한 우선 순위 지정은 워크로드의 성능을 보존하기 위해 자동 새로 고침을 중단하고 일부 구체화된 보기의 새로 고침을 지연시킬 수 있습니다. 경우에 따라 구체화된 보기에 보다 확정적인 새로 고침 동작이 필요할 수 있습니다. 더욱 확정적인 새로 고침 동작을 생성하려면 다음을 사용하세요.

  • 구체화된 보기 새로 고침에 설명된 대로 수동 새로 고침
  • Amazon Redshift 스케줄러 API 작업 또는 콘솔을 사용한 예약된 새로 고침

자세한 내용은 구체화된 보기 자동 새로 고침을 참조하세요.


AWS 공식
AWS 공식업데이트됨 일 년 전