공유 메모리 세그먼트 늘리기

WebSphere® Business Monitor가 AIX® 플랫폼에서 이벤트를 처리하려는 경우 SQL 오류가 리턴됩니다. 또한 시작 또는 이벤트 처리 중 데이터베이스 연결을 초기화하는 경우에도 WebSphere는 실패합니다. IBM® DB2®에 운영 체제가 부여한 사용 가능한 공유 메모리 세그먼트 수 제한으로 실패했습니다.

WebSphere 관리 콘솔(JDBC 자원)에서 연결 테스트가 다음 오류로 실패했습니다.
다음과 같은 예외로 Node1 노드에서 server1 서버의
데이터 소스 MonitorDataSource에 대한 연결 테스트에 실패했습니다.
java.lang.Exception: java.sql.SQLException: SQL1224N
데이터베이스 에이전트가 요청한 서비스를 시작할 수 없거나
데이터베이스 시스템 종료 또는 강제 실행 명령으로 인해 종료되었습니다.
SQLSTATE=55032 DSRA0010E: SQL 상태 = 55032, 오류 코드 = -1,224.
이 오류는 AIX가 허용한 공유 메모리 세그먼트 수를 데이터베이스가 초과한 것을 의미합니다.

이 오류가 발생하면 DB2 구성을 변경하여 공유 메모리 세그먼트 수를 늘려야 합니다. 현재 복구 전문가는 공유 메모리 문제를 방지하기 위해 루프백으로 DB2 별명을 정의하는 것을 지원하지 않습니다.

솔루션

확장 공유 메모리 기능은 이러한 문제점을 우회하는 DB2가 사용합니다. 이 기능을 사용하려면 /etc/rc.db2 및 <instance_home>/sqllib/db2profile(여기서, <instance_home>은 /home/db2inst1과 같이 각 인스턴스의 홈 디렉토리의) 시작 부분, 블록 주석 이후와 실행 가능 행 이전에 다음 행을 추가하십시오.
# Local addition to fix AIX shared memory problem:
EXTSHM=ON
export EXTSHM
주: 입력은 대소문자를 구분합니다. 모든 인스턴스 사용자와 관리자 서버 사용자의 db2profiles에 입력하십시오. 각 인스턴스 사용자와 관리자 서버 사용자로 로그인한 후 다음 명령을 실행하십시오.
db2set DB2ENVLIST=EXTSHM

이것으로 DB2 디먼 프로세스 환경(예: 시작)에 EXTSHM 환경 변수 값이 포함되므로 각 인스턴스 내의 DB2 프로파일 변수가 설정됩니다. 로그인 시 실행되는 각 인스턴스의 db2profiles에 EXTSHM을 정의하는 중 모든 인스턴스 소유자 환경에 변수가 설정되었는지 확인하십시오. 마지막으로 /etc/rc.db2에 입력하면서 시작 시간에 DB2 프로세스가 시작될 때 변수가 설정되었는지 확인하십시오. 시스템을 다시 시작하여 모든 DB2 프로세스가 해당 환경에서 EXTSHM=ON으로 시작되었는지 확인하십시오.

다음에 새 인스턴스 작성 시 자동으로 수정사항을 적용하려면 인스턴스 작성 시 EXTSHM을 내보낸 후 설정한 행을 <instance_home>/sqllib/db2profile에 복사된 /usr/lpp/db2_08_02/cfg/db2profile 파일에 추가하십시오. 또한 DB2ENVLIST 프로파일 변수가 설정되었는지 확인하려면 INSTHOME 변수를 설정한 후 다음 코드를 추가하십시오.
if [ -x $INSTHOME/sqllib/adm/db2set ]
then if [ "`$INSTHOME/sqllib/adm/db2set DB2ENVLIST`" != "EXTSHM" ]
then $INSTHOME/sqllib/adm/db2set DB2ENVLIST=EXTSHM
fi
fi
이 코드로 새 인스턴스가 처음으로 사용될 때 DB2ENVLIST 인스턴스 프로파일 변수가 설정됩니다.
주:
  • DB2Version 8.0은 /usr/lpp/db2_08_02에 설치되는 것으로 가정합니다. 다른곳에 설치한 경우 설치 위치에서 작업해야 합니다.
  • DB2 버전 8.0의 경우 <instance_home>/sqllib/userprofile 파일에 다음 행을 추가해야 합니다. 파일이 없는 경우, 755 권한으로 사용자 프로파일을 작성해야 합니다.
    EXTSHM=ON
    export EXTSHM

Copyright IBM Corporation 2005, 2006. All Rights Reserved.