문제 상황
Database Link로 연결된 원격 DB 테이블의 특정 값을 UPDATE 하려고 하다가 아래와 같은 오류 다량 발생.
정말 이거 때문에 일주일 낭비하고... 정신적으로 미치기 일보직전이었다. 내일까지 해결 못했으면 정말 머리에 꽃달고 뛰어다녔을듯.
에러 코드
### Error updating database. Cause: java.sql.SQLException:
ORA-00604: 순환 SQL 레벨 1 에 오류가 발생했습니다
ORA-02067: 트랜잭션 또는 저장점 롤백이 요구됩니다
ORA-03113: 통신 채널에 EOF 가 있습니다
ORA-02055: 분산 수정 작업이 실패했음; 롤백이 요구됩니다
ORA-02063: lines가 선행됨 (TESTDB 부터)
문제 해결
1.롤백해줘야함
친절한 에러코드의 설명대로 트랜잭션이 꼬여서, 롤백을 해주면 된다.
혹시나 몰라서 DB를 shutdown 후 다시 startup 해주었고,
Oracle Developer 툴에서, 해당 테이블 선택 후 롤백을 해주었다.
2.쓸데없는 트리거 삭제
그리고 쓸데없는 update 관련 trigger로 삭제해 줬다.
참고 사이트
- [오라클 클럽]DB Link로 update 사용 관련하여 질문 드립니다.
- 디비링크된 테이블에 insert/update는 원래 안되는거 아닌가요?
- Oracle) Create Database link
ORA-38104: Columns referenced in the ON Clause cannot be updated (0) | 2013.12.18 |
---|---|
ORA-00918: 열의 정의가 애매합니다 (0) | 2013.12.16 |
[Oracle] 다른 DB에 있는 테이블 값 쓰기 (DB Link) (0) | 2013.11.14 |
[Oracle] Error setting null for parameter #4 with JdbcType OTHER (0) | 2013.11.14 |
[Oracle][ORA-01017] invalid username password logon denied (0) | 2013.11.12 |
댓글 영역