열 기반 엔진 문제 해결

문서 버전을 선택합니다.

이 페이지에서는 AlloyDB Omni 열 기반 엔진을 사용할 때 발생할 수 있는 문제를 해결하는 방법을 설명합니다. 열 기반 엔진에 대한 자세한 내용은 열 기반 엔진 개요를 참조하세요.

'공유 메모리 부족' 오류 수정

열 기반 엔진에 충분한 공유 메모리 없이 AlloyDB Omni를 실행하면 다음 오류가 표시될 수 있습니다.

Insufficient shared memory for generating the columnar formats.

이 문제를 해결하려면 AlloyDB Omni 컨테이너에서 사용할 수 있는 공유 메모리 양을 지정하세요.

Linux

  1. /dev/shm 디렉터리가 컨테이너에 마운트된 상태로 AlloyDB Omni가 이미 설치되어 있는지 확인합니다. 자세한 내용은 AlloyDB Omni 설치 맞춤설정을 참조하세요.

  2. /etc/fstab 파일 수정과 같은 기법을 사용하여 호스트 머신의 /dev/shm 파티션 크기를 늘립니다.

macOS

새 AlloyDB Omni 컨테이너를 설치하고 --shm-size 플래그에 더 큰 공유 메모리 값을 지정합니다.

열 기반 엔진에 채워진 테이블 찾기

g_columnar_relations 뷰에서 열 기반 엔진에 있는 테이블을 찾는 쿼리를 만듭니다.

SELECT * FROM g_columnar_relations;

열 기반 엔진에서 사용하는 전체 메모리 찾기

google_columnar_engine_memory_available() SQL 함수를 사용하여 열 기반 엔진이 사용하는 메모리 양을 확인합니다.

SELECT google_columnar_engine_memory_available();

열 기반 엔진에 특정 열이 채워졌는지 확인

다음 해결 방법을 시도해 보세요.

  • 열 기반 엔진이 열의 데이터 유형을 지원하는지 확인합니다.
  • 최근에 기본 테이블에 열을 추가하거나 삭제한 경우 열 기반 엔진에서 동일한 작업을 수행했는지 확인합니다.

쿼리에서 열 기반 엔진을 사용하는지 확인

쿼리 계획에서 '커스텀 스캔(열 기반 스캔)' 플래너 노드가 있는지 확인합니다.

진행 중인 유지보수 작업 찾기

g_columnar_jobs 뷰에서 쿼리하여 진행 중인 작업을 찾습니다.

SELECT * FROM g_columnar_jobs;

열 기반 엔진에서 유지보수 활동이 사용하는 리소스 양 설정

기본적으로 열 기반 엔진은 데이터베이스 리소스의 최대 20%를 사용합니다. 이 사용량을 늘리거나 줄이려면 google_columnar_engine.maintenance_cpu_percentage(GUC) 설정을 조정하세요. 자세한 내용은 유지보수 태스크의 CPU 리소스 조정을 참조하세요.