메시지 플로우 또는 메시지 세트 전개 시 문제점 해결

  1. 전개 문제를 디버그하려면 로그를 확인하십시오.
    • 브로커 도메인 이벤트 로그
    • 로컬 오류 로그(Windows 이벤트 로그 또는 syslog)
    • WebSphere MQ 로그

    이러한 로그가 별도의 컴퓨터에 있을 수 있으므로 전개하려면 Workbench 출력과 함께 사용해야 합니다.

    mqsilist 명령을 사용하여 전개되었는지 확인하거나 Windows 이벤트 또는 브로커 도메인 이벤트 로그를 찾으십시오.

  2. 전개 문제점이 있을 경우 이 점검 목록을 사용하십시오.
    • 리모트 큐 관리자가 실행 중인지 확인하십시오.
    • 채널이 실행 중인지 확인하십시오.
    • 채널 상태를 표시하여 송신된 시스템 메시지 수가 증가되는지 확인하십시오.
    • 리모트 측에서 채널을 점검하십시오.
    • 큐 관리자 이름을 점검하십시오.
    • 채널이 클러스터 채널인지 판별하십시오.

이 주제에서는 메시지 플로우 또는 메시지 세트를 전개할 때 발생할 수 있는 몇 가지 일반적인 문제의 처리에 대해 설명합니다.
전개 준비
전개 중:
전개 취소:
전개 후:

이주된 메시지 플로우를 브로커 아카이브 파일에 추가할 수 없음

사전을 브로커 아카이브 파일에 추가할 때 오류가 발행됨

브로커 아카이브 파일을 브로커로 끌어 놓을 수 없음

플러그인 메시지 플로우를 사용하는 메시지 플로우를 전개할 수 없음

컴파일된 메시지 플로우(.cmf)파일이 생성되지 않음

메시지 플로우가 테스트 시스템에서만 전개되고 다른 시스템에서는 실패함

전개 시 브로커가 없다고 표시됨

구성 관리자가 존재하지 않는 브로커로 전개하려고 함

구성 관리자에서 메모리 부족을 보고함

버전 2.1 브로커에 전개할 때 상관 이름 오류가 발행됨

z/OS에서 전개할 때 오류 메시지가 발행됨

z/OS에서 메시지 플로우의 다중 인스턴스를 처리하는 공유 큐에 대해 예상된 입력 직렬화가 수행되지 않음

버전 6.0 브로커에 전개한 후에 MQe 노드가 예상대로 작동하지 않음

전개할 때 오류 메시지가 발행됨

전개 중에 생성될 수 있는 오류 메시지가 설명과 함께 아래에 나열됩니다.

WebSphere MQ 이유 코드 2030이 있는 BIP1106
  • 시나리오: 많은 메시지 세트를 전개할 때 오류 메시지 BIP1106이 이유 코드 2030과 함께 발행됩니다.
  • 설명: 메시지 크기가 브로커 큐 관리자의 트랜스미션 큐의 최대 메시지 길이를 초과합니다.
  • 해결책: WebSphere MQ alter qlocal 명령을 사용하여 트랜스미션 큐의 최대 메시지 길이를 늘리십시오. 최대 메시지 길이는 바이트로 표시됩니다.
    alter ql(transmit_queue_name) maxmsgl(104857600) 
    이 명령에 대한 자세한 정보는 WebSphere MQ System Administration Guide를 참조하십시오.
WebSphere MQ 오류 AMQ7463이 있는 메시지 BIP1106
  • 시나리오: 구성 관리자와 큐 관리자를 공유하는 브로커에 많은 메시지 세트를 전개할 때 이유 코드 2102와 함께 오류 메시지 BIP1106이 발행됩니다. WebSphere MQ 또한 큐 관리자 <queue manager>의 로그가 가득 찼습니다라는 텍스트와 함께 오류 메시지 AMQ7463이 발행됩니다.
  • 해결책:
    1. mqsistop 명령을 사용하여 구성 관리자를 정지하십시오.
    2. mqsistop 명령을 사용하여 브로커를 정지하십시오.
    3. WebSphere MQ amqmdain 명령을 사용하여 큐 관리자를 정지하십시오. amqmdain end <queue manager>
    4. 시작 > 프로그램 > IBM WebSphere MQ > WebSphere MQ 서비스를 눌러 시작 메뉴에서 WebSphere MQ 서비스를 시작하십시오.
    5. 큐 관리자를 마우스 오른쪽 단추로 누르고 등록 정보로그 탭을 차례로 누르십시오.
    6. 전체 크기가 전개 메시지보다 크도록 기본 및 보조 파일의 수를 증가시키십시오.
    7. mqsistart 명령을 사용하여 구성 관리자를 재시작하십시오.
    8. mqsistart 명령을 사용하여 브로커를 재시작하십시오.
    9. WebSphere MQ amqmdain 명령을 사용하여 큐 관리자를 재시작하십시오. amqmdain start <queue manager>
메시지 BIP1538E
  • 시나리오: 많은 메시지 세트를 전개할 때 이유 코드 2218과 함께 오류 메시지 BIP1538E가 발행됩니다.
  • 설명: 메시지 크기가 채널의 최대 메시지 크기를 초과합니다.
  • 해결책: 다음과 같이 양쪽 끝에서 양쪽 채널 쌍의 채널 maxmsgl 매개변수를 늘리십시오.
    1. 구성 관리자 큐 관리자에서 WebSphere MQ alter channel 명령을 발행하십시오. 예를 들면 다음과 같습니다.
      alter chl(CM_to_BRK) chltype(sdr) MAXMSGL(104857600) 
      alter chl(BRK_to_CM) chltype(rcvr) MAXMSGL(104857600) 
    2. 브로커 큐 관리자에서 WebSphere MQ alter channel 명령을 발행하십시오. 예를 들면 다음과 같습니다.
       alter chl(BRK_to_CM) chltype(sdr) MAXMSGL(104857600) 
        alter chl(CM_to_BRK) chltype(rcvr) MAXMSGL(104857600)
    3. 변경사항이 적용되도록 각 채널을 정지한 후 재시작하십시오.
메시지 BIP1536
  • 시나리오: 하나의 사용자 ID로 실행되도록 구성 관리자를 정의하고 다른 사용자 ID로 다른 컴퓨터에서 실행되도록 브로커를 정의했습니다. 전개에 성공했지만 메시지 플로우와 메시지 세트를 브로커에 전개할 때 오류 메시지 BIP1536이 발행됩니다.
  • 설명: 브로커가 하나의 ID에서 실행되고 구성 관리자가 다른 ID에서 실행되므로 구성 관리자가 내부 Subscription을 브로커에 등록할 수 없습니다. 브로커와 구성 관리자Publish/Subscribe를 통해 내부 메시지를 앞/뒤로 릴레이합니다. 이러한 메시지는 특정 권한 부여가 필요한 WebSphere MQ를 통해 전달됩니다.
  • 해결책:
    • 브로커의 사용자 ID가 mqmmqbrkrs 그룹의 구성원인지 확인하십시오.
    • 구성 관리자가 실행되는 컴퓨터에서 브로커의 사용자 ID를 정의하십시오.
    • 브로커가 실행되는 컴퓨터에서 구성 관리자의 사용자 ID를 정의하십시오.
    • 모든 ID가 컴퓨터에서 호환 가능한 소문자로 되어 있는지 확인하십시오.
메시지 BIP1536 및 메시지 BIP7017
  • 시나리오: 오류 메시지 BIP1536BIP7017이 표시됩니다.
  • 설명: 전체 구성을 전개할 때마다 브로커 상태 변경을 처리하기 위해 토픽의 내부 Subscription을 등록하는 중에 구성 관리자에 문제가 발생합니다. 문제의 원인은 메시지 BIP7017에 있으며 구성된 사용자 이름 서버를 실행 중이지만 전개될 브로커에 사용자 캐시의 구성 관리자 서비스 사용자 ID가 없음을 표시합니다.
  • 해결책: 다음을 확인하십시오. 문제를 식별하고 수정하면 다음에 전개할 때 Subscription이 올바르게 등록됩니다.
    • 사용자 이름 서버가 시작되었는지 확인하십시오.
    • 사용자 이름 서버와 브로커 간의 WebSphere MQ 채널이 시작되었는지 확인하십시오.
    • 사용자 이름 서버의 도메인에 사용자 ID가 있는지 확인하십시오.
메시지 BIP1835
  • 시나리오: 오류 메시지 BIP1835가 표시됩니다.
  • 설명: 전개 중인 메시지 세트가 내부 한계가 4MB보다 큰 메시지 세트 사전을 생성합니다. 이는 같은 메시지 세트에 여러 개의 큰 메시지 정의를 정의했기 때문일 수 있습니다.

    내보낸 메시지 세트의 크기는 XML로 저장되므로 전개할 때 생성된 메시지 세트 사전의 크기를 나타내지 않습니다. 이는 매우 상세할 수 있지만, 사전에는 훨씬 더 압축된 내부 형식이 포함됩니다.

  • 해결책: 메시지 정의를 여러 개의 작은 메시지 세트로 분할하십시오.
메시지 BIP2045
  • 시나리오: 오류 메시지 BIP2045가 표시됩니다.
  • 설명: 이 메시지는 브로커가 두 번째(또는 다시 초기화된) 구성 관리자에 지정되었음을 표시합니다.

    각 브로커는 Message Brokers Toolkit 또는 구성 관리자 프록시가 브로커에 대한 정의를 작성할 때 할당되는 UUID(universally unique identifier)로 식별됩니다. 전개 시 구성 관리자가 제어하지 않는 브로커에 실수로 변경사항이 전개되지 않도록 UUID를 확인합니다. 오류 BIP2045를 수신한 경우 하나의 UUID를 가진 브로커에 메시지가 전개되지만 다른 UUID를 가진 브로커가 메시지가 처리합니다.

  • 해결책: 가능하면 이 브로커를 관리하는 구성 관리자를 사용하여 전개 요청을 다시 발행하십시오.

    가능하지 않은 경우 구성 관리자 프록시 API BrokerProxy.setUUID() 메소드를 사용하여 구성 관리자 브로커 정의의 UUID를 브로커가 예상하는 UUID가 되도록 설정하십시오. 이 API는 구성 관리자 프록시 API 연습기 샘플을 사용하여 호출할 수 있습니다.

    이 메소드를 호출하면 이미 브로커에 전개된 자원(자원이 모니터되지 않은 경우)이 구성 관리자에 의해 모니터되지 않지만 구성 관리자를 브로커에 전개할 수 있습니다.

    그래도 전개할 수 없으면 다음 단계를 수행하십시오.
    1. 브로커 구성요소, 구성 테이블 및 큐 관리자를 삭제하십시오.
    2. Message Brokers Toolkit 또는 구성 관리자 프록시를 사용하여 도메인에서 브로커 정의를 제거하십시오.
    3. 토폴로지를 재전개하십시오.
    4. Message Brokers Toolkit 또는 구성 관리자 프록시를 사용하여 브로커 구성요소를 다시 작성하고 참조를 브로커 구성요소에 추가하십시오.
    5. 자원을 브로커에 재전개하십시오.

    브로커를 삭제하거나 다시 작성할 때 이 문제가 재발하지 않게 하려면 항상 실행 중인 브로커 구성요소가 정지하고 삭제되기 전에 도메인에서 브로커 정의를 제거하고 토폴로지를 전개하십시오.

메시지 BIP2066
  • 시나리오: 오류 메시지 BIP2066이 표시됩니다.
  • 설명: 브로커 시간 종료 ConfigurationTimeoutConfigurationDelayTimeout(디폴트 60초)을 더한 값이 만료되기 전에 실행 그룹에서 전개 요청 수신을 확인하지 않았습니다.
  • 해결책: mqsicreatebrokermqsichangebroker 명령의 -g-k 플래그를 사용하여 이 시간 종료를 변경하십시오.
메시지 BIP2242
  • 시나리오: 오류 메시지 BIP2242가 표시됩니다.
  • 설명: 브로커 시간 종료 ConfigurationTimeout(디폴트 300초)가 만기되기 전에 전개(구성 변경) 요청이 승인되지 않았습니다. 시간 종료는 메시지 플로우가 현재 메시지 처리를 완료한 후 전개 요청을 승인할 수 있을 만큼 길어야 합니다.
  • 해결책: mqsicreatebrokermqsichangebroker 명령의 -g-k 플래그를 사용하여 사용하여 이 시간 종료를 설정하는 방법에 대한 자세한 내용은 명령을 참조하십시오.
TDS(Tagged/Delimited String) 유효성 검증자 오류
  • 시나리오: 오류가 있는 TDS Wire 형식으로 설정된 메시지 세트를 전개하려고 합니다.
  • 해결책: 다음은 오류 로그에서 추출한 것으로 TDS 유효성 검증 프로그램 오류가 있는지 확인할 수 있는 내용을 설명합니다. 이 경우, 문제점의 원인은 Town 요소에 태그가 정의되어 있지 않기 때문입니다.
    TDS Extractor Trace File
    ========================
    
    Beginning Extract..
    
    Extracting Identification Info
    Extracting Project Info
    Extracting Messages
    Extracting Elements
    Extracting Compound Types
    Extracting Type Members
    Extracting Type Members
    Extracting Type Members
    Extracting Type Members
    Extracting Type Members
    Beginning Indexing..
    
    Creating Member IDs to Tags Index Table.
    
    Beginning Validation..
    
    Validating Project
    Validating Types
    ERROR: TDSValidator::ValidateTypeMemberSimpleElement:
        Simple elements in a type with Data Element Separation attribute = Tagged 
        Delimited must have the following attribute set:
        Element Level - Tag
    (Element ID: Town)
    (Type ID: AddressType)
    Return Code: -80
    
    Validating Messages
    
    Trace Info
    ===========
    EXCEPTION: TDSValidator::Validate:
        TDS Validation failed.
            1 errors
            0 warnings
    Return Code: -1
  • 해결책: 오류 로그에 있는 정보를 사용하여 문제를 수정하십시오.

버전 6.0 구성 관리자에서 버전 2.1 브로커로 전개할 때 오류 메시지 BIP2432E가 발행됨

전개를 취소할 때 mqsilist는 실행 그룹에 메시지 플로우를 표시하지만 도구는 표시하지 않음

전개 결과를 알리지 않음

전개의 성공을 알리는 확인이 수신되지 않음

전개된 메시지 플로우 또는 메시지 세트를 볼 수 없음

삭제된 브로커가 도메인 네비게이터에 남아 있음

전개 후 XMLTransformation 노드가 작동하지 않음

전개 후 XMLTransformation 노드가 작동하지 않는 이유를 설명하는 두 가지 시나리오가 있습니다.

스타일시트를 찾을 수 없음을 표시하는 오류 메시지가 표시됨

예상치 못한 변환 결과를 수신했습니다.

  • 시나리오: 예상치 못한 변환 결과를 수신했습니다.
  • 설명: 복잡한 메시지 플로우의 경우 전개 후 스타일시트와 XML 파일가 일치하지 않을 수 있습니다. 이를 권장하는 두 가지 이유는 다음과 같습니다.
    • 공동 스타일 시트 또는 XML 파일의 일부만 전개되고 갱신됩니다(파일 시스템 오류로 인해 발생할 수 있음).
    • 같은 실행 그룹 내에서 실행되는 여러 XMLT 노드가 호환 가능한 스타일시트를 사용할 예정이었지만 같은 수신 메시지를 처리하기 위해 다른 버전에서 사용 중입니다.
  • 해결책: 공동 스타일시트 또는 XML 파일의 일부만 전개 및 갱신되는 경우, 호환 가능한 버전을 재전개하여 비호환성을 해결하십시오. 다른 버전의 스타일시트를 사용하여 다중 XMLT 노드를 해결하려면, 전개하기 전에 대상 실행 그룹에서 관련된 메시지 플로우를 일시정지한 후 플로우를 재시작하십시오.
관련 개념
전개 개요
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2005 마지막 갱신 날짜: 11/08/2005
au16540_