티스토리 뷰
- 발생 원인
1) UPDATE 문 실행 후 commit을 하지 않은 경우에 발생
2) table에 lock이 걸린 경우
- 증상
1) 정상적으로 서버단 개발 (controller, service, dao, sql)
2) 정상적으로 화면단 개발 (nexacro)
3) 기능 작동 시 교착상태(deadlock) 또는 메모리 부족 상태(memory leak) 에러 메시지 출력
- 문제 해결
1) table에 lock이 걸려있는지 확인: 밑 SQL 문 참고
SELECT DO.OBJECT_NAME , DO.OWNER , DO.OBJECT_TYPE , DO.OWNER, VO.XIDUSN , VO.SESSION_ID , VO.LOCKED_MODE FROM V$LOCKED_OBJECT VO , DBA_OBJECTS DO WHERE VO.OBJECT_ID = DO.OBJECT_ID | cs |
2) lock session을 죽이는 SQL 문
SELECT A.SID , A.SERIAL# FROM V$SESSION A , V$LOCK B , DBA_OBJECTS C WHERE A.SID = B.SID AND B.ID1 = C.OBJECT_ID AND B.TYPE = 'TM' AND C.OBJECT_NAME = '세션죽일테이블명' | cs |
3) commit 되지 않은 데이터를 commit 하여 해결
- rollback을 해서 해결하는 방법도 있음
- DB 연결 후에 차단 후 재접속(clear)
4) lock 세션을 kill하는 방법
'재활용' 카테고리의 다른 글
ORA-01481: 숫자 형식 모델이 부적합합니다 (0) | 2019.03.06 |
---|---|
java.lang.ClassCastException (0) | 2019.03.06 |
ORA-01791:SELECT 식이 부적합합니다 (0) | 2019.03.06 |
SVN:E155004 Error (0) | 2019.03.06 |
Several ports (8005, 8080, 8009) required by Tomcat v9.0 Server at localhost are already in use (0) | 2019.03.06 |
댓글