
오라클 DB에서 트랜잭션 롤백이 자동으로 적용되지 않는 이유는 다음과 같습니다.
1. 트랜잭션의 isolation level: 오라클 DB에서는 트랜잭션의 isolation level이 AUTO COMMIT로 설정되어 있으면, 트랜잭션 롤백이 자동으로 적용되지 않습니다. 이 경우, 롤백을 수행한 후에 commit을 수행해야 합니다.
2. 트랜잭션의 상태: 트랜잭션의 상태가 ACTIVE 또는 IN-DATA가 아닌 경우, 롤백이 자동으로 적용되지 않습니다. 이 경우, 롤백을 수행한 후에 commit을 수행해야 합니다.
3. 트랜잭션의 LOCK: 트랜잭션의 LOCK이 걸려 있는 경우, 롤백이 자동으로 적용되지 않습니다. 이 경우, 롤백을 수행한 후에 commit을 수행해야 합니다.
4. DB의 버전: 오라클 DB의 버전이 12c 이상인 경우, 롤백이 자동으로 적용되지 않습니다. 이 경우, 롤백을 수행한 후에 commit을 수행해야 합니다.
롤백을 수행한 후에도 데이터가 이전 상태로 복원되지 않는 이유는 다음과 같습니다.
1. 트랜잭션의 isolation level: 오라클 DB에서는 트랜잭션의 isolation level이 AUTO COMMIT로 설정되어 있으면, 트랜잭션 롤백이 자동으로 적용되지 않습니다. 이 경우, 롤백을 수행한 후에 commit을 수행해야 합니다.
2. 트랜잭션의 상태: 트랜잭션의 상태가 ACTIVE 또는 IN-DATA가 아닌 경우, 롤백이 자동으로 적용되지 않습니다. 이 경우, 롤백을 수행한 후에 commit을 수행해야 합니다.
3. 트랜잭션의 LOCK: 트랜잭션의 LOCK이 걸려 있는 경우, 롤백이 자동으로 적용되지 않습니다. 이 경우, 롤백을 수행한 후에 commit을 수행해야 합니다.
롤백을 수행한 후에 commit을 수행해야 하는 이유는 다음과 같습니다.
1. 트랜잭션의 일관성: 트랜잭션의 일관성을 유지하기 위해 commit을 수행해야 합니다.
2. 데이터의 정합성: 데이터의 정합성을 유지하기 위해 commit을 수행해야 합니다.
3. 트랜잭션의 완료: 트랜잭션의 완료를 위해 commit을 수행해야 합니다.
2025-03-04 21:59