티스토리 뷰

반응형

인포믹스 sysmaster:sysonlinelog 테이블 관련으로 테스트한 내용을 공유드립니다.

테스트한 인포믹스 버전은 12.10.FC6과 12.10.FC13, 11.70.FC8, 11.50.FC1 입니다.

 

IBM문서에 따르면 인포믹스의 특정 버전 이하에서는 sysonlinelog 테이블에 쿼리를 실행하는 경우 인포믹스 메시지 로그 파일에 접근하기 위해 AIO 파일 핸들을 여는데 쿼리가 완료되어도 핸들이 닫히지 않는 문제가 있다고 합니다. 이로 인해 인포믹스 프로세스에 할당된 File Descriptor가 점차 증가하게 되고, OS 설정 값인 nofile에 도달하면 AIO 파일 핸들이 필요한 다른 작업도 실패하게 됩니다. 예를 들면 실행계획을 확인하는 SET EXPLAIN도 파일을 생성할 수 없게 되고, 청크 추가작업도 불가능하게 됩니다. 인포믹스 서버가 온라인 상태일 때는 File Descriptor를 해제할 수 있는 방법이 없으므로, 인포믹스 서버를 재시작해야만 합니다.

 

이 현상은 dbaccess나 InformixHQ같은 툴을 사용해서 재현할 수 있었습니다. 단순 SELECT 문장이나 프로시저 내에서 커서 열고 닫기를 반복하는 것으로는 재현되지 않더군요. 아래와 같이 브라우저에서 InformixHQ 대시보드가 표시중일때는 메시지 로그 파일에 대한 AIO 파일 핸들이 계속 늘어나는 것을 확인할 수 있었습니다. 늘어나는 주기는 10초로 보이네요.

AIO 파일 핸들은 onstat -g iof 명령으로 확인할 수 있습니다. 보통은 청크파일만 보이고 이따금 SORT로 인한 TEMP 파일이나 프로시저의 TRACE 파일 등이 보이기도 하지만 금방 사라지거나 유지되죠. 위와 같이 계속 늘어나게되면 File Descriptor 임계치에 도달해 청크 추가 등의 작업을 실행하지 못하게 될 수 있습니다.

onstat 명령으로 aio virtual processor의 PID를 사용하여 OS에서 File Descriptor를 확인할 수 있습니다. informix 계정에서는 ls나 procfiles 모두 권한 오류가 발생하네요.

root 계정에서는 procfiles 유틸리티를 사용해 해당 프로세스에 의해 열린 File Descriptor 정보를 볼 수 있습니다.

 

결론적으로 주기적으로 sysbaract_log 테이블이나 sysonlinelog를 조회한다면 File Descriptor Leak이 발생할 가능성이 있습니다. Informix 12.10.FC15 또는 14.10.FC6 버전 이상으로 업그레이드 하지 않고 InformixHQ를 사용하는 것은 Informix Server에 대한 잠재적인 장애 요인이 될 수 있으므로 주의가 필요해보입니다.

 

IT13967: STORED PROCEDURE QUERYING SYSONLINELOG LEAKS AIO FILE HANDLES (ibm.com)

 

IT13967: STORED PROCEDURE QUERYING SYSONLINELOG LEAKS AIO FILE HANDLES

IT13967: STORED PROCEDURE QUERYING SYSONLINELOG LEAKS AIO FILE HANDLES

www.ibm.com

IT40927: FILE DESCRIPTOR LEAK WHEN REPEATEDLY OPEN/CLOSING CURSOR FOR PREPARED SYSONLINELOG QUERY (ibm.com)

 

IT40927: FILE DESCRIPTOR LEAK WHEN REPEATEDLY OPEN/CLOSING CURSOR FOR PREPARED SYSONLINELOG QUERY

IT40927: FILE DESCRIPTOR LEAK WHEN REPEATEDLY OPEN/CLOSING CURSOR FOR PREPARED SYSONLINELOG QUERY

www.ibm.com

How to List Files Opened By a Process (ibm.com)

 

How to List Files Opened By a Process

How to List Files Opened By a Process

www.ibm.com

 

 

 

반응형
댓글