2017-10-25 13 views
1

글쎄, 테이블의 행을 업데이트하는 절차가 하나 있습니다. 이 절차는 매일 200 번씩 실행됩니다. 잘 5-6 번에 예외를 준다 -244. 나는 누군가가 select로 열린 행을 가지고 있고 그 행을 업데이트 할 수 없다고 생각한다. 누구든지 방법은 다음이행을 업데이트하는 중 informix 오류 -244를 수정하는 방법

를 해결하기 위해 어떤 생각을 가지고 내가 뭘 더러운 읽기에 격리 설정되어 해봤지만 도움이 나던 ... 이 오류 코드가 무엇을 의미하는지 설명입니다

-244은 할 수 없습니다 물리적 순서 읽기를 수행하여 다음 행을 가져옵니다.

데이터베이스 서버가 테이블의 행을 포함하는 디스크 페이지를 읽을 수 없습니다. 자세한 내용은 함께 제공되는 ISAM 오류 코드를 확인하십시오. 하드웨어 문제가 있거나 테이블 또는 인덱스가 일 수 있습니다. 쿼리에서 더티 읽기 격리 수준을 사용하는 경우이 오류 코드는 동일한 데이터의 동시 업데이트에서 일시적으로 일관성이없는 상태의 데이터를 읽음으로써 발생하는 정상적인 동작 일 수 있습니다.

ISAM 오류 코드 또는 다른 원인에 운영 체제 메시지 포인트는 oncheck 유틸리티 (IBM 인포믹스 온라인과 IBM 인포믹스 SE 또는 tbcheck와 secheck) 확인 및 수리 테이블과 인덱스를 실행하지 않는 한.

+0

격리 수준은 쿼리가 보는 것에 영향을줍니다. 업데이트는 격리 수준에 관계없이 항상 행을 잠급니다. –

답변

2

113 '파일이 잠긴 것처럼 간단한 잠금 오류 인 경우 (ISAM 오류 확인) SPL이 테이블 잠금을 기다리는 시간을 늘려보십시오.

업데이트가 작동하기 전에 '잠금 모드를 10으로 설정하십시오'와 유사한 내용이 나타날 수 있습니다.

+0

그래서 내 SP에서 프로 시저가 실행될 때만 설정되고 다른 동일한 쿼리에서는 동일한 세션에서 실행되지 않을 때만 설정됩니다. –

+0

이 명령문을 실행하면 현재 세션의 잠금 모드가 변경되므로 다른 SQL이 대기 모드를 사용하지만 특정 명령을 수행 한 후에 원하는대로 언제든지 다시 넣을 수 있습니다. 최신 정보. –