안녕하세요..
리눅스 kernel 2.2.16(레뎃 6.2) + 오라클 8.1.6 + proc 8.1.6 + gcc 환경
(멘드레이크 7.0)
하에서 개발을 하고 있는데요... ..
이상한 문제를 발견해서..
개발 특성상 모듈별로 쏘쓰를 분할해서 코딩 / 컴파일 하고 있습니다.
그런데, 하나의 쿼리 결과가 다른 쿼리 결과에 영향을 미치는 이상한 문제를 발견했습니다.
SELECT 문에서도 발생하는데,
예를 들어
a() 함수에서 14
b() 함수에서 4
c() 함수에서 8
이라고 나와야 하는데,
14, 14, 8 이런식으로 다음 함수에 쿼리결과가 영향을 미친다는 겁니다.
통짜로 하면 아무런 문제가 없습니다.
혹은 proc 옵션에 release cursor 을 YES로 세팅하면 문제가 없습니다.
sqlplus 에 들어가서 cursor 테이블, transaction 테이블을 봤더니..
이부분에 문제가 있더군요.
결론은 어떤 문제로 인하여서 cursor 캐쉬영역을 잘못 참조하는게 아닌지 하는 생각이 듭니다.
똑같은 쏘스를 HP 상에서 (816) 컴파일 했더니, 잘 돌아가더군요 .. ..
다른 유닉스 (815) 상에서도 역시 잘 돌아 갑니다 --;;
리눅스 오라클 815 버전에서 컴파일해서 816 서버로 접근 해봤는데, 역시 값이
엉망으로 나오더군요
아직 815 서버 접근 테스트는 해보지 못했습니다.
그럼
종합적으로 보면 proc 버젼 문제는 아닌것 같고, 리눅스 오라클 서버에 어떤 사소한 문제점이
혹시 있지 않나 하는 생각이 들더군요.. ..
혹시 프로그래밍 하시면서 이런 문제겪으신분은 정보 교환바랍니다.
|