![[IBM i]](../images/iseries.gif)
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
고가용성을 위해 트랜잭션 및 보상 로그를 관계형 데이터베이스에 저장
선택적으로 WebSphere® Application Server 트랜잭션 및 보상 로그를 운영 체제 파일 대신 관계형 데이터베이스에 저장하도록 선택할 수 있습니다. 이 기능은 공유 파일 시스템을 사용할 필요가 없이 고가용성(HA) 지원을 제공합니다.
이 태스크 정보
WebSphere Application Server 트랜잭션 서비스는 두 개 이상의 자원을 포함하거나 여러 서버에 분산된 모든 글로벌 트랜잭션에 대한 정보를 트랜잭션 로그에 씁니다. 이러한 트랜잭션은 애플리케이션 또는 이들 애플리케이션이 배치된 컨테이너에 의해 시작되거나 중지됩니다. 트랜잭션 서비스는 트랜잭션의 무결성을 확인하기 위해 트랜잭션 로그를 유지합니다. 정보는 분산 트랜잭션의 준비 단계(Phase)에서 트랜잭션 로그에 기록됩니다. 활성 트랜잭션을 가진 WebSphere Application Server가 실패 후 다시 시작되는 경우 트랜잭션 서비스는 로그를 사용하여 모든 인다우트 트랜잭션을 재생할 수 있습니다. 이 무결성 레벨을 사용하면 전체 시스템을 다시 일관성 있는 상태로 가져올 수 있습니다.
WebSphere Application Server의 이전 릴리스에서 트랜잭션 로그는 운영 체제 파일로 저장되었습니다. WebSphere Application Server 버전 8.5.5 이상에서는 이 설정이 기본 구성을 유지합니다. 트랜잭션 로그를 관계형 데이터베이스에 저장하도록 선택할 수도 있습니다. 이 구성 옵션은 주로 고가용성(HA) 환경에 사용됩니다. 또한 WebSphere Application Server의 이전 릴리스에서는 HA 트랜잭션 지원에서 NFSv4 마운트 NAS(Network-Attached Storage) 또는 SAN(Storage Area Network) 등의 트랜잭션 로그를 호스팅하기 위해 공유 파일 시스템을 사용해야 했습니다. 이 새 기능을 사용하면 특히 HA 데이터베이스 기술에 투자한 경우 공유 파일 시스템 사용의 대안으로 HA 데이터베이스를 트랜잭션 로그의 공유 저장소로 사용할 수 있습니다.
현재 구현에서는 코어 복구 로그 기능에 의해 예상치 않은 JDBC 예외가 발생하는 경우 트랜잭션 로깅이 사용 안함으로 설정되며 인플라이트 트랜잭션을 복구할 수 있도록 서버가 종료되어야 합니다. 서버가 다시 시작될 때까지 다시 연결을 시도하지 않으며 현재 구현에서 조건이 일시적인지 판별하려고 시도하지 않습니다.
WebSphere Application Server 버전 8.5.5 이상에서는 역시 HA 환경에서 작업 중인 고객을 목표로 하는 비슷한 기능을 사용하여 관계형 데이터베이스에 보상 복구 로그를 저장할 수 있습니다. WebSphere Application Server 보상 서비스를 사용하면 서로 다른 시스템에 있는 애플리케이션이 원자적 트랜잭션보다 느슨하게 결합된 활동을 조정할 수 있습니다. 이는 시스템이 실패한 후 보상을 완료하기 위해 필요한 정보를 자체 전용 복구 로그에 저장합니다.

(2 * 피어 복구되는 중인 잠재적인 서버의 수) + 2
이 최대 풀 크기를 사용하면 모든 관련 트랜잭션
로그를 닫는 데 충분한 데이터베이스에 대한 연결이 가능합니다.
최대 풀 크기가 이 값으로 설정되지 않으면 사용 가능한 연결이
충분하지 않으므로 오류 메시지 J2CA0045E가 표시될 수 있습니다. gotcha프로시저
- AppClusterMember1
- AppClusterMember2
- AppClusterMember3
- AppClusterMember4
- App1(AppClusterMember1의 경우)
- App2(AppClusterMember2의 경우)
- App3(AppClusterMember3의 경우)
- App4(AppClusterMember4의 경우)
다음 단계를 완료하십시오.
예
클러스터 이름 | 서버 이름 | 트랜잭션 로그 테이블 | 보상 로그 테이블 |
---|---|---|---|
AppCluster | AppClusterMember1 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App1 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App1 |
AppClusterMember2 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App2 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App2 | |
AppClusterMember3 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App3 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App3 | |
AppClusterMember4 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App4 | custom://com.ibm.rls.jdbc.SQLRecoveryLog?datasource=jdbc/tranlog,tablesuffix=App4 |
- AppClusterMember1
- AppClusterMember2
- AppClusterMember3
- AppClusterMember4
- WAS_TRAN_LOGApp1
- WAS_TRAN_LOGApp2
- WAS_TRAN_LOGApp3
- WAS_TRAN_LOGApp4
- WAS_PARTNER_LOGApp1
- WAS_PARTNER_LOGApp2
- WAS_PARTNER_LOGApp3
- WAS_PARTNER_LOGApp4
- WAS_COMP_LOGApp1
- WAS_COMP_LOGApp2
- WAS_COMP_LOGApp3
- WAS_COMP_LOGApp4