본문 바로가기

ORACLE/Admin

Oracle deadlock

728x90
반응형

ORA-00060: Deadlock detected. See Note 60.1 at My Oracle Support for Troubleshooting ORA-60 Errors. More info in file /rdsdbdata/log/diag/rdbms/../trace/.._ora_10827.trc.
ORA-00060: Deadlock detected. See Note 60.1 at My Oracle Support for Troubleshooting ORA-60 Errors. More info in file /rdsdbdata/log/diag/rdbms/../trace/.._ora_10959.trc.



Oracle의 교착 상태(Deadlock) 처리는 시스템의 동작 방식과 상황에 따라 달라질 수 있다.
교착 상태 발생 시, Oracle은 일반적으로 이를 감지하고 자동으로 한쪽 트랜잭션을 종료하여 문제를 해소한다. 그러나 일부 경우에는 교착상태가 감지되지 않거나 지속된다. 이를 이해하려면 교착 상태 처리 방식을 알아야한다.

1. Oracle의 Deadlock 처리 방식
리소스 기반 교착상태는 자동으로 감지하고 처리된다.
감지 메커니즘 : Oracle은 데이터베이스 내부의 잠금관리를 통해 교착상태를 주기적으로 검사한다. 교착 상태가 감지될 경우 해소를 위해 한 트랜잭션을 강제로 공료하고, 해당 트랜잭션에 ORA-00060 에러를 반환한다.

2. 자동으로 해소되지 않는 경우
(1) 논리적 교착상태
Oracle은 주로 리소스 기반(블록 잠금, 행 잠금) 교착상태만 감지할 수 있다.
논리적 교착상태란 두 세션이 서로의 결과를 기다리는 상황과 같이 애플리케이션 레벨에서 발생하는 교착상태이다.

728x90
반응형