Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

 

 

대상 버전

...

모든 버전

본 에러메시지의 경우, 알티베이스 버전에 따라 동일한 오류 원인에 대해 이 에러가 발생할 수도 있고 다른 에러가 발생할 수도 있습니다.

뿐만 아니라 본 에러메시지에 대해 알티베이스 버전에 따라 오류 원인도 다를 수 있습니다.

 

 

 

증상

...

 

# 예제

Code Block

create table t (c1 integer, c2 integer);
create table t2 (c1 integer, c2 integer);
create table t3 (c1 integer, c2 integer);
create index t_idx_01 on t(c1, c2);
create index t2_idx_01 on t2(c1, c2);
create index t3_idx_01 on t3(c1, c2);
insert into t select level, level from dual connect by level < 301;
insert into t2 select level, level from dual connect by level < 301;
insert into t3 select level, level from dual connect by level < 301;
alter system set EXECUTE_STMT_MEMORY_MAXIMUM = 1048576;

...

# 5.3.3 버전에서 수행 결과

Code Block

iSQL> select count(*) from (select count(*) from t, t2, t3 group by t.c2, t2.c2, t3.c2);
[ERR-01067 : The allocated memory size of statement exceeds the maximum limit ( Name : Query_Execute, Wanted Memory Size : 1114112, Max size : 1048576 ).]

원인

...

다음과 같이 altierr 유틸리티를 이용하여 해당 에러에 대한 설명을 확인할 수 있습니다.

...

알티베이스 서버가 쿼리 수행을 위해 메모리 할당 요청을 했는데 EXECUTE_STMT_MEMORY_MAXIMUM 속성값에 의해 에러를 리턴받은 경우 본 에러가 발생합니다.

 

 

해결 방안

...

다음 프로퍼티 값을 늘려주어야 합니다.

Panel

EXECUTE_STMT_MEMORY_MAXIMUM
기본값: 1G
단위는 Gigabyte이며 질의 처리 시에 실행 단계에서 메모리를 이 속성값 이상으로 사용할 경우 에러 처리한다.
이 속성값은 불필요한 메모리의 증가를 방지하기 위해 최대값을 설정한다.

...

1. 쿼리 수행 중 해당 에러가 발생했다면 아래의 SQL문으로 "EXECUTE_STMT_MEMORY_MAXIMUM" 프로퍼티 값을 확인합니다.

Code Block

iSQL> set vertical on;
iSQL> select name, value1 from v$property where name='EXECUTE_STMT_MEMORY_MAXIMUM';
NAME   : EXECUTE_STMT_MEMORY_MAXIMUM                         
VALUE1 : 1073741824  

...

   다음은 2G로 설정하는 예제입니다.

Code Block

iSQL> alter system set EXECUTE_STMT_MEMORY_MAXIMUM = 2147483648;
Alter success.

...

    $ALTIBASE_HOME/conf/altibase.properties 파일에서 해당 프로퍼티의 값을 위와 동일하게 변경해 주세요. 

 

 

 

참고

...

...

 

1. EXECUTE_STMT_MEMORY_MAXIMUM 프로퍼티는 최대값을 지정하는 프로퍼티로, 미리 설정값만큼 메모리를 할당받는 것은 아닙니다.

...

    따라서 위 해결방안으로 문제가 해결되지 않는다면 알티베이스 기술지원으로 연락주세요.