관계형 데이터베이스에 트랜잭션 로그 저장

Liberty 프로파일 트랜잭션 로그를 운영 체제 파일로서가 아니라 관계형 데이터베이스에 저장할 수 있습니다. WebSphere® Application Server 전체 프로파일에서 이 기능은 공유 파일 시스템을 사용할 필요없이 고가용성(HA) 지원을 제공합니다. 이 기능은 호환성 및 평가와 테스트 목적으로 Liberty 프로파일에서 제공됩니다.

이 태스크 정보

WebSphere Application Server 트랜잭션 서비스는 둘 이상의 자원을 포함하거나 다중 서버 사이에 분배되는 모든 글로벌 트랜잭션에 대한 트랜잭션 로그에 정보를 기록합니다. 이들 트랜잭션은 애플리케이션에 의해 또는 애플리케이션이 배치되는 컨테이너에 의해 시작 또는 중지됩니다. 트랜잭션 서비스는 트랜잭션의 무결성을 보장하기 위해 트랜잭션 로그를 유지보수합니다. 정보는 분배 트랜잭션의 준비 단계에서 트랜잭션 로그에 기록되므로, 활성 트랜잭션을 갖는 WebSphere Application Server가 실패 후에 다시 시작하는 경우 트랜잭션 서비스가 모든 인다우트 트랜잭션을 재생하기 위해 로그를 사용할 수 있습니다. 이것은 전체 시스템이 일관성 있는 상태로 되돌아올 수 있게 합니다.

WebSphere Application Server의 이전 릴리스에서는 트랜잭션 로그가 운영 체제 파일로서 저장되었습니다. WebSphere Application Server 버전 8.5.5 이상에서는 이것이 기본 구성으로 남아 있지만 관계형 데이터베이스 관리 시스템(RDBMS)에 트랜잭션 로그를 저장할 것을 선택할 수 있습니다. 이 구성 옵션은 HA 환경에서 작업 중인 고객을 대상으로 한 것입니다. WebSphere Application Server의 이전 릴리스에서는, HA 트랜잭션 지원은 NFSv4 마운트 네트워크 접속 스토리지(NAS) 또는 SAN(Storage Area Network) 같은 트랜잭션 로그를 호스트하기 위한 공유 파일 시스템의 사용이 필요했습니다. 이 새로운 기능을 사용하면 특히 HA 데이터베이스 기술에 투자한 고객이 공유 파일 시스템 사용의 대안으로 HA 데이터베이스를 트랜잭션 로그를 위한 공유 저장소로서 사용할 수 있습니다.

기본적으로 Liberty 프로파일 트랜잭션 로그는 운영 체제 파일에 저장됩니다. 그러나 WebSphere Application Server 전체 프로파일과의 호환성을 위해 그리고 평가 및 테스트 목적으로 트랜잭션 로그가 RDBMS에 저장되도록 구성할 수 있습니다. Liberty 프로파일이 지원하는 모든 데이터베이스 유형을 사용할 수 있습니다.

프로시저

Liberty 프로파일 트랜잭션 로그가 RDBMS에 저장되도록 구성하려면 다음 단계를 완료하십시오.

  1. Liberty 프로파일 server.xml 파일에서 전용인 비트랜잭션 데이터 소스를 구성하십시오.
    server.xml 파일에서 추출된 다음 예제는 DB2® 데이터베이스에 트랜잭션 로그를 저장하도록 Liberty 프로파일을 구성하는 방법을 보여줍니다.
    <transaction> 
      <dataSource jndiName="jdbc/tranlogDataSource" transactional="false">
        <jdbcDriver libraryRef="DB2JCC4LIB"/>
        <properties.db2.jcc currentSchema="CBIVP"
          databaseName="SAMPLE" driverType="4"
          portNumber="50000" serverName="localhost" 
          user="db2admin" password="{xor}Oz1tPjsyNjE=" />
      </dataSource>
    </transaction> 
    
    <library id="DB2JCC4LIB">
      <fileset dir="C:/SQLLIB/java" includes="db2jcc4.jar db2jcc_license_cu.jar"/>
    </library>
  2. (선택사항) 데이터베이스 테이블을 작성하십시오.

    Liberty 프로파일은 서버가 처음 시작할 때 필요한 데이터베이스 테이블을 작성하려고 시도합니다. 예를 들어 충분하지 않은 권한으로 인해 이것이 불가능한 경우 서버가 시작하지 못합니다. 이런 상황에서는 두 개의 필수 데이터베이스 테이블을 수동으로 작성해야 합니다.

    다음 DDL 구조는 DB2에 테이블을 작성하는 방법을 보여줍니다.
    CREATE TABLE WAS_TRAN_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID BIGINT,
      RUSECTION_ID BIGINT,
      RUSECTION_DATA_INDEX SMALLINT,
      DATA LONG VARCHAR FOR BIT DATA) 
    CREATE TABLE WAS_PARTNER_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID BIGINT,
      RUSECTION_ID BIGINT,
      RUSECTION_DATA_INDEX SMALLINT,
      DATA LONG VARCHAR FOR BIT DATA) 
    다음 DDL 구조는 Oracle에서 데이터베이스 테이블 작성 방법을 보여줍니다.
    CREATE TABLE WAS_TRAN_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID NUMBER(19),
      RUSECTION_ID NUMBER(19),
      RUSECTION_DATA_INDEX SMALLINT,
      DATA BLOB)
    CREATE TABLE WAS_PARTNER_LOG(
      SERVER_NAME VARCHAR(128),
      SERVICE_ID SMALLINT,
      RU_ID NUMBER(19),
      RUSECTION_ID NUMBER(19),
      RUSECTION_DATA_INDEX SMALLINT,
      DATA BLOB)

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

Information Center 이용 약관 | 피드백


시간소인 아이콘 마지막 업데이트 날짜: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_store_logs_in_rdb
파일 이름: twlp_store_logs_in_rdb.html