Amazon Redshift Serverless 쿼리가 취소 또는 중지된 이유는 무엇입니까?

3분 분량
0

Amazon Redshift Serverless가 쿼리를 취소하거나 중지한 이유를 알고 싶은데 오류 메시지가 나타납니다.

간략한 설명

Amazon Redshift에서 쿼리가 취소 또는 중지되는 이유는 다음과 같습니다.

  • 쿼리 할당량에 도달했습니다.
  • Redshift 처리 장치(RPU)의 작업 그룹 사용 할당량에 도달했습니다.
  • 쿼리가 statement_timeout 값을 초과했습니다.
  • 다른 사용자가 쿼리를 중지하거나 취소했습니다.
  • 네트워크 연결에 문제가 있습니다.

해결 방법

Amazon Redshift Serverless 작업 그룹 쿼리 할당량 확인

작업 그룹 쿼리 할당량에 도달하면 쿼리는 다음과 같은 오류 메시지를 반환합니다.

"ERROR: Query (6800381) cancelled on user's request(사용자의 요청에 따라 쿼리(6800381)가 취소되었습니다)."

할당량에 도달하여 Amazon Redshift에서 쿼리를 취소했는지 확인하려면 Amazon Redshift Query Editor에서 다음 SQL 문을 실행합니다.

SELECT query_id, query_text, error_message from SYS_QUERY_HISTORY WHERE error_message ILIKE '%cancelled on user%';

이 문제를 해결하려면 작업 그룹 쿼리 할당량을 늘리십시오.

RPU에 대한 Amazon Redshift Serverless 작업 그룹 사용 할당량 확인

RPU의 작업 그룹 사용 할당량에 도달하면 쿼리는 다음과 같은 오류 메시지를 반환합니다.

"Error(오류): Query reached usage limit(쿼리가 사용 한도에 도달했습니다)."

사용 할당량에 도달하여 Amazon Redshift에서 쿼리를 취소했는지 확인하려면 Amazon Redshift Query Editor에서 다음 SQL 문을 실행합니다.

SELECT query_id, query_text, usage_limit, error_message FROM SYS_QUERY_HISTORY WHERE error_message ILIKE '%reached usage limit%';

이 문제를 해결하려면 작업 그룹 사용 할당량을 늘리십시오.

쿼리가 statement_timeout 값을 초과했는지 확인

쿼리가 statement_timeout 값을 초과하면 Amazon Redshift는 세션 중에 제출한 쿼리를 취소합니다. 쿼리는 다음과 같은 오류 메시지를 반환합니다.

"ERROR: Query (150) cancelled on user's request(사용자의 요청에 따라 쿼리(150)가 취소되었습니다)."

클러스터의 명령문 제한 시간을 확인하려면 Amazon Redshift Query Editor에서 다음 SQL 문을 실행합니다.

SHOW statement_timeout;

명령문은 클러스터 수준의 명령문 제한 시간을 밀리초 단위로 표시합니다. 출력을 변경하려면 워크로드 관리 구성에서 파라미터를 수정하십시오.

Amazon Redshift가 명령문 제한 시간으로 인해 쿼리를 취소했음을 확인하려면 Amazon Redshift Query Editor에서 다음 SQL 문을 실행합니다.

SELECT * FROM SYS_QUERY_HISTORY WHERE query_text ILIKE '%set%statement_timeout%to%';

Amazon Redshift에서 쿼리를 취소한 경우 다음 명령을 실행하여 statement_timeout 값을 늘리십시오.

SET statement_timeout = (value)

참고: **(value)**를 이전 statement_timeout 값보다 높은 값으로 바꾸십시오.

다른 사용자가 쿼리를 중지 또는 취소했는지 확인

다른 사용자가 쿼리를 중지했거나 취소했는지 확인하려면 다음 명령을 실행하고 error_message 열을 검토하십시오.

SELECT * FROM sys_query_history WHERE session_id = process_id;

참고: process_id를 프로세스 ID로 바꾸십시오.

중지된 쿼리를 보려면 Amazon Redshift Query Editor에서 다음 SQL 문을 실행합니다.

SELECT * FROM sys_query_history WHERE error_message ILIKE '%terminate%';

취소된 쿼리를 보려면 Amazon Redshift Query Editor에서 다음 SQL 문을 실행합니다.

SELECT * FROM sys_query_history WHERE error_message ILIKE '%canceled by user%';

쿼리가 출력에 나타나면 사용자가 쿼리를 중지하거나 취소한 것입니다.

참고: 사용자는 자신의 세션만 중지할 수 있습니다. 수퍼유저는 모든 세션을 중지할 수 있습니다.

네트워크 문제

네트워크 문제로 인해 쿼리가 취소될 수도 있습니다.

네트워크 연결에 문제가 있는지 확인하려면 다음 명령을 실행하여 SYS_CONNECTION_LOG 모니터링 보기를 확인합니다.

SELECT * FROM SYS_CONNECTION_LOG WHERE session_id = process_id;

참고: process_id를 프로세스 ID로 바꾸십시오.

관련 정보

Amazon Redshift에서 쿼리가 취소된 이유는 무엇입니까?

AWS 공식
AWS 공식업데이트됨 2달 전