DB2 데이터베이스를 사용하는 애플리케이션에 클라이언트 경로 재지정 구성

클라이언트 경로 재지정 기능을 사용하면 통신 손실을 복구하도록 DB2® 데이터베이스의 엔터프라이즈 애플리케이션을 구성할 수 있으며, 잠깐의 중단 후에 애플리케이션은 계속 작업을 수행할 수 있습니다. 경로 재지정은 지속적 조작에 대한 지원의 중심이지만 애플리케이션 서버 연결에서 식별되는 대체 위치가 있는 경우에만 가능합니다.

시작하기 전에

이 태스크는 다음을 가정합니다.

  • 애플리케이션 연결이 실행 중인 DB2 데이터 소스:
    • z/OS®용 DB2 버전 10.1 이상 또는
    • Linux, UNIX, Windows용 DB2 데이터베이스 버전 9.7 이상
  • 중복 설정 또는 DB2 서버를 대기 노드로 장애 복구하는 기능을 포함한 DB2 데이터베이스를 구성했습니다.

이 태스크 정보

DB2에 대한 클라이언트 경로 재지정을 사용하여 기본 데이터베이스 서버에 연결하는 데 실패하는 경우 대체 서버에 대한 정보를 제공할 수 있습니다.

클라이언트 측에 대한 구성이 없는 경우, DB2 서버에서 사용 가능한 DB2의 JCC(Java™ Common Connectivity) JDBC(Java Database Connectivity) 드라이버는 DB2 서버에 대한 초기 연결을 작성할 때 클라이언트 경로 재지정 기능을 지원합니다. JCC JDBC 드라이버가 하나 이상의 대체 서버가 구성된 DB2 서버에 연결될 때 기본 서버가 JCC JDBC 드라이버에 대체 서버에 대한 정보를 전송합니다. 기본 서버에 대한 연결이 실패하면 JCC JDBC 드라이버가 대체 서버에 대한 연결을 경로 재지정할 수 있습니다. 하지만 애플리케이션 서버가 충돌을 처리하는 경우 대체 서버 정보가 유실되고 클라이언트가 기본 서버에 다시 연결되어야 합니다. 클라이언트가 기본 서버에 대한 초기 연결을 작성할 수 없는 경우, 이 클라이언트는 대체 서버에 대해 알지 못하게 되어 경로 재지정할 수 없습니다.

이 문제를 해결하기 위해 애플리케이션 서버에서 Alternate server nameAlternate port number 필드를 사용하거나 clientRerouteAlternateServerName 및 clientRerouteAlternatePortNumber 데이터 소스 사용자 정의 특성을 사용하여 초기 연결을 시도하는 경우에도 클라이언트 경로 재지정을 지원하도록 DB2 데이터 소스를 구성할 수 있습니다. JDBC 드라이버를 기본 DB2 서버에 연결할 수 없는 경우 클라이언트 경로 재지정에 필요한 정보가 이미 있고 JDBC 드라이버가 대체 서버에 대한 연결을 경로 재지정할 수 있습니다.

주의: 데이터 소스 특성 enableClientAffinitiesList는 clientRerouteAlternateServerName 및 clientRerouteAlternatePortNumber 특성의 시맨틱을 변경합니다.

연결을 경로 재지정하고 JCC JDBC 드라이버가 대체 DB2 서버에 연결되면 대체 서버가 고유 대체 서버에 대한 정보를 JCC JDBC 드라이버에 전송합니다. 그러면 JCC JDBC 드라이버에 대체 DB2 서버를 사용할 수 없는 경우 연결을 경로 재지정하는 데 필요한 정보가 포함됩니다. 원래 대체 서버였던 서버는 이제 기본 서버가 되고 새 대체 서버가 설정됩니다. 하지만 이 기본 서버와 대체 서버의 새로운 상태는 더 이상 JCC JDBC 드라이버에 보관되지 않습니다. 애플리케이션 서버가 실패하고 다시 시작되면 JCC JDBC 드라이버가 원래 서버 구성에서 시작해야 하고 원래 기본 서버로 간주되었던 서버에 연결하려고 시도합니다.

다음과 같은 DB2 구성 가능 환경에서 자동 클라이언트 경로 재지정 기능을 사용할 수 있습니다.

프로시저

  1. server.xml 파일에서 다음 특성으로 DB2 데이터 소스를 정의하십시오.
    • clientRerouteAlternateServerName
      • 올바른 값의 유형:
        • 도메인 이름(예: www.ibm.com)
        • IP 주소(IPv4 및 IPv6)(예: 23.72.11.219)
      • 다중 값의 형식:
        • 쉼표로 구분(예: host1, host2, host3)
        • 공백으로 구분(예: host1 host2 host3)
      • 순서의 중요성:
        • 제공된 호스트 이름의 순서는 JCC JDBC 드라이버가 연결할 다음 사용 가능 서버를 찾는 데 사용하는 순서입니다.
    • clientRerouteAlternatePortNumber
      • 올바른 값의 유형:
        • 포트 번호를 나타내는 정수(예: 50000)
      • 다중 값의 형식:
        • 쉼표로 구분(예: port1, port2, port3)
        • 공백으로 구분(예: port1 port2 port3)
      • 순서의 중요성:
        • 제공된 포트의 순서는 연관된 서버의 순서와 일치해야 합니다.
  2. (선택사항) 다음 특성 중 하나 또는 둘 다를 추가할 수 있습니다.
    • retryIntervalForClientReroute

      이 특성은 JCC JDBC 드라이버가 연결 설정 시도 사이에 대기하는 시간(초)을 정의합니다.

      값이 지정되지 않으면 기본 동작이 사용됩니다. 자세히 학습하려면 JDBC 및 SQL 지원을 참조하십시오.

    • maxRetriesForClientReroute

      이 특성은 다음 서버로 이동하기로 결정하기 전에 JCC JDBC 드라이버가 서버에 연결하려고 시도하는 재시도 수를 정의합니다. 이 특성은 RetryIntervalForClientReroute 특성이 설정된 경우에만 사용됩니다.

      값이 지정되지 않으면 기본 동작이 사용됩니다. 자세히 학습하려면 JDBC 및 SQL 지원을 참조하십시오.

<dataSource id="DefaultDataSource"jndiName="jdbc/db2">
     <properties.db2.jcc 
        databaseName="sampleDatabase"
        driverType="4" 
        serverName="host"
        portNumber="50000" 
        clientRerouteAlternateServerName="host01, host02, host03"
        clientRerouteAlternatePortNumber="50000, 50005, 50000"
        retryIntervalForClientReroute="2"
        maxRetriesForClientReroute="3" />
 ...
</dataSource>
참고: 같은 수의 항목이 포트 및 호스트에 지정되어 있는지 확인하십시오. 그렇지 않으면 경고가 표시되고 클라이언트 경로 재지정이 사용 가능하도록 설정되지 않습니다.

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

파일 이름: twlp_config_reroute_db2.html