* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Linux 64bit centOS 6.5 | |
9.2.21.0005 | |
10.1.0.002 | |
php |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
저희가 테스트 서버와 운영서버를 돌리고 있는데요
system parameter 확인결과 별반 차이를 찾아보지 못 했습니다.
그래서 문의 드립니다.
경우는 이렇습니다.
1. 트랜잭션을 사용하여 A라는 테이블에 insert 하였습니다. 그리고 sleep을 걸어 트랜잭션 걸리는 시간을 인위적으로 늘려
2. 트랜잭션이 걸린 상태에서 A라는 테이블에 update를 하였습니다.
테스트 서버의 경우에는
1번 행동이 완료된 후에 update를 동시에 완료하였고
운영서버의 경우에는
1번 행동과는 무관하게 update를 먼저 완료하였습니다.
왜 이런 현상이 있는 지 확인이 가능한지요...
지금 운영서버에서 LOCK걸린 테이블에 update 혹은 insert 과정에서 LOCK에러가 계속 발생하여
연동문제가 계속적으로 발생하고 있습니다.
성수기라 데이터가 급증하고 있는데 이와같은 현상이 점점 늘어나고 있는 해결책이 보이지 않네요
답변 부탁드립니다.
안녕하세요
운영서버와 개발서버의 cubrid.conf 파일을 비교해서 파라미터 값을 확인해보면 좋을 것 같습니다.
추가적으로 운영 서버에서 LOCK이 발생했을 때의 트랜잭션에 대한 것을 확인해보면 좋습니다.
$> cubrid lockdb [db_name]
유틸리티로 확인하여 LOCK 종류와 잠금 상태를 확인해주세요.