728x90
ORA-01013 오류는 TimeOut 오류다.
대부분의 글들을 보면, TimeOut 시간을 늘려주라해서 문제를 해결했는가 본데, 내경우는 달랐다.
Java 에서 해당 Insert 문을 프로시저를 통해 처리했는데,
아직 Transaction이 완료되지 않은 상황에서
바깥에서 한 번 더 Insert 문을 처리한 경우였다. (결국 중복)
원인은 한 번 더 Insert를 생성하던 부분에서 아래와 같은 어노테이션이 발견된 것인데,
이런 연유는 이커머스 결제 특성상 PG사 결제를 처리해야했기 때문에
별도의 Transaction을 넣어준게 원인이었던 것.
@Transactional(propagation=Propagation.REQUIRES_NEW)
하지만 위 코드의 문제는 아니다. 지금까지 문제는 없었다.
그저 앞의 프로시저에서 Insert 문이 새롭게 추가되었다는 게 문제였다.
해결은 뒤의 Insert문에서 처리해야할 것을, 앞의 Insert 문으로 옮겨 놓고 뒤의 것을 삭제함으로 처리했다.
728x90
'PROGRAMMING > Database' 카테고리의 다른 글
[ORACLE] 로그 찍어 보기 (0) | 2022.09.04 |
---|---|
[ORACLE] Oracle Developer에서 Template 기능 사용하기 (0) | 2022.09.04 |
Oracle 날짜의 두자리를 한 자리로 표현 (0) | 2018.11.23 |
Oracle SP 결과를 목록으로 받기 (0) | 2018.10.19 |
공휴일 목록 (1949~2200년) (0) | 2018.10.01 |
댓글