보고서 데이터를 가져 오거나 삽입하지 않고 데이터를 읽는 업데이트가없는 제품을보고하는 공급 업체가 있습니다.DB2의 선택 쿼리에 커밋이 필요합니까?
우리의 힙 크기는 3 배로 1024 x 4k 페이지입니다. 응용 프로그램이 일주일 동안 정상적으로 실행되면 DB2 SQL 오류가 표시됩니다. 트랜잭션 로그를 나타내는 SQLCODE : -954, SQLSTATE : 57011 요청을 수용 할 수 없습니다.
리사이클 후에도 정상적으로 작동하므로 보고서의 크기가 아닙니다. 나는 이것에 대해 다른 DBA와 이야기했다. 그는 문제가 ORACLE과 DB2의 차이점이라고 생각합니다. 공급 업체 코드가 엉성하고 선택 항목에 커밋을하지 않는다는 것입니다. 이로 인해 참조가 정리되지 않고 힙에 쓰레기로 천천히 누적됩니다.
커밋을 포함 할 필요가있는 삽입 및 업데이트 만 있다고 생각 했으므로 이것이 정확한지 알고 싶습니다. 이것에 대한 IBM 문서가 있습니까?
현재 문제를 완화하기 위해 매주 재활용하고 있습니다.하지만 코드를 변경하라는 공급 업체로 돌아 가기 전에 문제에 대해 잘 대처하고 싶습니다.
감사합니다. alex, DBA가 아니기 때문에 생각은 삽입/업데이트 커밋 만 필요합니다. 상세한 예제를 제공해 주셔서 감사합니다. – Keibosh
이것은 선택이 트랜잭션 내에서 실행된다는 것을 의미하지 않습니까? 그들이 그렇지 않다면 (물론 지정되지 않은 것에 많이 달려 있음), 이는 적용되지 않습니다. –
@Harper, 예, 모든 DB2 쿼리 (일반 DB 이론에 따라)가 트랜잭션 방식으로 실행됩니다. 각 쿼리가 끝날 때마다 각 트랜잭션이 자동 커밋되는 모드를 설정할 수 있지만 명시 적 종료를 선택하면 이점이 있습니다. –