2011-05-07 5 views
2

트랜잭션 로그 파일 시스템 (/ var/mqm/log)이 가득 차서이 큐 관리자에 대한 클라이언트 연결을 시도하는 동안 큐 관리자에 MQRC 2102 자원 문제가 발생합니다. 이를 해결하기 위해 우리가 취할 수있는 조치는 무엇입니까?WebSphere MQ 트랜잭션 로그 파일 시스템이 가득합니다.

LogPrimaryFiles=2 
LogSecondaryFiles=8 
LogFilePages=16384 
LogType=CIRCULAR 
LogBufferPages=0 
LogPath=/var/mqm/log/QMGRA/ 
LogWriteIntegrity=TripleWrite 

/var/mqm/log에 추가 디스크 공간을 추가하는 것이 유일한 해결책입니까?

전체 큐가 거의 없지만 큐 저장 파일 시스템이 60 % 만 사용되었습니다.

제발 나에게 이것에 대한 아이디어를주세요.

+0

원형 또는 선형 로그? 잘 모르는 경우 qm.ini 파일을 확인하십시오. –

+0

LogPrimaryFiles = 2 LogSecondaryFiles = 8 LogFilePages = 16384 된 LogType = CIRCULAR LogBufferPages = 0 중 LogPath =은/var/mqm에/로그/QMGRA/ LogWriteIntegrity = TripleWrite 당신이 당신의 질문에 대한 편집에 대해 궁금해하는 경우 – Vignesh

+0

" MQ "는 여러 벤더 구현에 적용될 수있는 매우 일반적인 용어입니다. 비록 당신의 태그가 WebSphere-MQ를 말하고는 있지만, 일반적으로 특정 구현에 특정한 경우 "MQ"를 참조하는 제목과 본문 참조를 모호하게하려고합니다. 서명 삭제와 관련해서는 사이트를 참조와 같게 만들고 포럼과 같이 만드는 것을 목표로하는 SO 대회입니다. FAQ의 "서명"참조 : http://stackoverflow.com/faq#signatures 그러나이 규칙은 주석에는 적용되지 않습니다. 건배! –

답변

3

로그 파일 페이지는 각각 4096 바이트이므로 LogFilePages=16384으로 설정하면 로그 파일의 크기가 각각 64MB가됩니다. LogPrimaryFiles=2LogSecondaryFiles=8으로 설정하면 총 10MB의 로그 파일이있을 수 있으며 총 640MB가됩니다. 순환 로그가있는 파일 시스템이이 양보다 적 으면 파일 시스템이 가득 찰 수 있습니다.

최적의 해결책은 로그 파일 디스크 할당 크기를 로그 파일 범위 요구 사항보다 약간 큰 것으로 늘리는 것입니다. 그럴 수 없거나 임시 수정이 필요한 경우 익스텐트 수를 줄이고 QMgr을 다시 시작하여 로그 파일 요구 사항의 크기를 변경해야합니다. 로그 범위의 수는 조정할 수 있지만 범위의 크기는 조정할 수 없습니다. LogFilePages=16384 매개 변수를 변경해야하는 경우 QMgr을 다시 작성해야합니다.

extents의 수와 크기는 한꺼번에 동기 점이 될 수있는 데이터의 총량을 나타내지 만 대부분의 경우 640MB가 많습니다. 시간 측면에서 볼 때 활성 QMgr에서 작업 단위의 가능한 최장 기간을 제한합니다. 이것은 로그 파일의 헤드 포인터가 테일 포인터를 추월 한 경우 미해결 트랜잭션이 롤백되기 때문입니다. 예를 들어 채널이 다시 시도되는 것으로 가정합니다. 이것은 동기 점에서 메시지 묶음을 보유하고 해당 로그 범위를 활성으로 유지합니다. 응용 프로그램 및 다른 채널이 정상 작동을 수행 할 때 추가 트랜잭션이 헤드 포인터를 앞으로 이동시킵니다. 결국 모든 익스텐트가 사용되며, 미처리 트랜잭션이 거의 없을지라도 가장 오래된 트랜잭션이 롤백되어 해당 범위를 비우고 테일 포인터를 앞으로 이동시킵니다. 오류 로그에 많은 트랜잭션이 여유 공간으로 롤백되면 로그 파일 파티션에 더 많은 공간을 할당하고 범위의 수를 늘려야합니다.

관련 문제