데이터베이스 연결 유실 발견 조정

메시징 엔진이 데이터 저장소를 사용하도록 구성되었지만 해당 데이터 저장소에 연결할 수 없는 경우(예를 들어, 데이터 저장소를 포함하는 데이터베이스가 실행 중이 아니므로) 메시징 엔진은 시작되지 않습니다. 메시징 엔진 시작 확률을 높이도록 시스템을 조정할 수 있습니다.

이 태스크 정보

단일 서버 환경에서 애플리케이션 서버를 시작할 때 메시징 엔진을 시작하려고 합니다. 15분 넘게 데이터베이스가 사용 불가능한 경우 메시징 보안은 중지됨 상태가 되며 수동으로 시작해야 할 수 있습니다.

고가용성 환경에서 메시징 엔진은 서버 또는 클러스터 시작의 일부로 또는 장애 복구 프로세스의 일부로 시작됩니다. 메시징 엔진 시작 중에 메시징 엔진은 기본적으로 최대 15분 동안 데이터 저장소에 연결하려고 시도합니다. 이 시간 동안 다음 명령문 중 하나가 true인 경우 메시징 엔진은 서버에서 시작될 수 없으며, 고가용성에 대해 서버를 사용할 수 없습니다.
  • 데이터베이스가 사용 불가능하거나 실행 중이 아닙니다.
  • 장애 복구 상황에서 데이터베이스는 원래 애플리케이션 서버에 대한 네트워크 연결 유실을 발견하지 못하므로 데이터 저장소에 대한 잠금을 해제하지 못합니다.
이 사용 안함 상태는 클러스터의 모든 멤버에 전파할 수 있습니다. 수동으로 서버가 고가용성 환경을 유지보수하도록 다시 설정해야 합니다.

데이터베이스 서버 또는 애플리케이션 서버에서 기본 제한시간 15분과 같은 다양한 매개변수를 구성하여 메시징 엔진의 시작 성공 확률을 높일 수 있습니다.

프로시저

  1. 데이터베이스 서버의 경우 애플리케이션 서버에서 네트워크 연결 유실을 발견하는 데 소요되는 시간을 최소화하도록 운영 체제를 구성하십시오. 자세한 내용은 운영 체제 문서를 참조하십시오. 예를 들어 다음 테이블에서는 Windows 및 AIX® 운영 체제에 대한 관련 매개변수를 나열합니다.
    표 1. TCP/IP 매개변수. 테이블의 첫 번째 열에서는 Windows 운영 체제에서 TCP/IP 매개변수 목록을 제공합니다. 테이블의 두 번째 열에서는 AIX 운영 체제에서 TCP/IP 매개변수 목록을 제공합니다. 세 번째 열에서는 매개변수에 대한 설명을 제공합니다.
    Windows 운영 체제에서 매개변수 이름 AIX 운영 체제에서 매개변수 이름 설명
    KeepAliveTime tcp_keepidle 비활성 연결에서 keepalive 요청을 보내기 전 대기하는 시간( Windows 운영 체제의 경우 밀리초, AIX 운영 체제의 경우 0.5초 단위).
    KeepAliveInterval tcp_keepintvl 응답을 기다리는 시간( Windows 운영 체제의 경우 밀리초, AIX 운영 체제의 경우 0.5초 단위).
    TCPMaxDataRetransmissions tcp_keepcnt 연결을 끝내기 전에 보낼 요청 수.
    다음 공식을 사용하여 데이터베이스 서버가 애플리케이션 서버에 대한 연결 실패를 발견하는 데 소요되는 총 시간을 계산할 수 있습니다.

    연결 실패 발견 시간 = 라이브 유지 시간 + (라이브 유지 간격 x 요청 수)

    예를 들어 다음 테이블에 따라 매개변수가 설정된 Windows 시스템의 경우 데이터베이스 서버가 애플리케이션 서버에 대한 연결 실패를 발견하는 데 소요된 총 시간은 350초입니다.
    표 2. 매개변수 값 예제. 첫 번째 열에서는 매개변수 이름을 제공합니다. 두 번째 열에서는 매개변수에 대한 샘플 값을 제공합니다.
    매개변수
    KeepAlive 300000밀리초
    KeepAliveInterval 10000 밀리초
    TCPMaxDataRetransmissions 5
    데이터베이스 제품에는 사용자가 구성 가능한 관련 매개변수(예: z/OS®용 DB2®의 경우 IDLE THREAD TIMEOUT 매개변수)가 포함될 수 있습니다.

    데이터베이스 서버가 애플리케이션 서버에 대한 연결 유실을 발견하면 데이터베이스는 데이터 저장소에 대한 잠금을 해제합니다. 이제 메시징 엔진은 데이터 저장소에 액세스할 수 있으므로, 시작도 가능합니다.

  2. 애플리케이션 서버에서 데이터 저장소가 사용 가능해지는 데 적합한 시간을 기다리도록 메시징 엔진을 조정하십시오. 기본적으로 메시징 엔진은 15분 동안 2초마다 데이터 저장소에 연결하려고 합니다. 이 타이밍을 조정하려는 경우 이 단계의 나머지를 완료하십시오.
    1. 서비스 통합 -> 버스 -> bus_name -> [토폴로지] 메시징 엔진 -> engine_name -> [추가 특성] 사용자 정의 특성을 클릭하여 메시징 엔진에 대한 사용자 정의 특성 패널로 이동하십시오.
    2. 새로 작성을 클릭하십시오.
    3. 이름 필드에 sib.msgstore.jdbcInitialDatasourceWaitTimeout을 입력하고 값 필드에 적절한 값을 입력하십시오. 이 특성은 데이터 저장소가 사용 가능해질 때까지 기다리는 시간(밀리초)입니다. 기본값은 900000(15분)입니다. 이 시간은 데이터베이스에 대한 연결을 설정하고 필수 테이블 잠금을 확보하는 데 필요한 시간을 포함합니다.

      이 특성 값은 1단계에서 구성된, 데이터베이스 서버가 네트워크 연결 유실을 발견하는 데 소요된 총 시간보다 커야 합니다.

    4. 확인을 클릭하십시오.
    5. 새로 작성을 클릭하십시오.
    6. 이름 필드에 sib.msgstore.jdbcStaleConnectionRetryDelay를 입력하고 값 필드에 적절한 값을 입력하십시오. 이 특성은 데이터 저장소에 연결하려는 시도 간 대기 시간(밀리초)입니다. 기본값은 2000(2초)입니다. 예를 들어, sib.msgstore.jdbcInitialDatasourceWaitTimeout 특성을 600000으로 설정하고 sib.msgstore.jdbcStaleConnectionRetryDelay 특성을 3000으로 설정하면 메시징 엔진은 10분 동안 3초마다 연결을 시도합니다.
    7. 확인을 클릭하십시오.
    8. 마스터 구성에 변경사항을 저장하십시오.
    9. 애플리케이션 서버를 다시 시작하십시오.
    10. 클러스터가 있는 경우 이전 단계를 반복하여 클러스터의 모든 메시징 엔진에서 이 특성을 추가하십시오.

결과

이 매개변수와 사용자 정의 특성을 구성하면 데이터베이스 서버가 네트워크 연결 유실을 발견하는 데 소요되는 시간을 최소화하고 메시징 엔진이 시작하기 전에 데이터베이스 연결을 복구하기 전까지 적절한 시간 동안 기다릴 수 있습니다.

다음에 수행할 작업

데이터베이스 연결 실패 시 메시징 엔진 및 서버를 다시 시작하도록 구성할 수 있습니다. 이 동작은 데이터베이스 연결이 복원된 경우 메시징 엔진이 불일치 상태가 되는 위험을 줄입니다.

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjm_tunedbconn
파일 이름:tjm_tunedbconn.html