[Oracle] ORA-1013

반응형

ORA-1013

ORA-1013 오류 분석 및 해결 가이드

ORA-1013 오류 분석 및 해결 가이드

1️⃣ ORA-01013 오류 개요

ORA-01013: user requested cancel of current operation
→ 사용자가 현재 작업을 취소했습니다.

ORA-01013(ORA-1013)은 일반적으로 클라이언트 또는 세션 측에서 길게 실행되는 SQL을 강제로 중단할 때 나타나는 오류이다. 하지만 단순 사용자 취소 외에도 네트워크 지연·DB 응답 저하·타임아웃 등 시스템 원인으로도 발생한다.

2️⃣ ORA-1013이 발생하는 대표 원인

  • 사용자가 SQL 실행 중 직접 취소 (Ctrl+C, 프로그램 Stop 버튼 등)
  • DB 클라이언트 또는 미들웨어 타임아웃
  • 대기 시간 과도 증가 (lock, I/O hang, latch wait 등)
  • 네트워크 불안정 또는 패킷 드롭
  • 로드밸런서 / Proxy 의 Idle Timeout
  • JDBC / ODBC 드라이버 타임아웃
ORA-01013은 단순 취소 메시지처럼 보이지만 실제로는 응답 지연 → 타임아웃 → 세션 강제 종료 흐름에서 발생하는 신호일 때가 더 많다.

3️⃣ ORA-1013과 함께 자주 발생하는 관련 오류

아래 오류들은 ORA-01013과 함께 또는 직후 연관되어 자주 나타난다:

  • ORA-03113 — end-of-file on communication channel
  • ORA-03114 — not connected to ORACLE
  • ORA-03135 — connection lost contact
  • ORA-12170 — TNS:Connect timeout occurred
  • ORA-12541 — TNS:no listener
  • ORA-12514 — TNS:listener does not currently know service requested
ORA-01013은 네트워크·타임아웃·세션 종료 계열 오류와 매우 높은 상관성을 가진다.

4️⃣ ORA-1013 발생 시 진단 절차

✔ 1) Alert 로그 확인

tail -f $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log

✔ 2) 세션 상태 점검

SELECT sid, serial#, status, blocking_session, event, seconds_in_wait
FROM v$session
WHERE username IS NOT NULL;

✔ 3) Wait Event 분석

SELECT event, total_waits, time_waited
FROM v$system_event
WHERE event LIKE '%buffer%' OR event LIKE '%I/O%' OR event LIKE '%lock%';

✔ 4) 네트워크 관련 로그 점검

SHOW PARAMETER sqlnet

# 클라이언트
tnsping 서비스명

# 서버
netstat -anp | grep 1521

5️⃣ 조치 방법 (Root Cause 별)

✔ A. 사용자가 직접 취소한 경우

  • SQL 실행 시간이 길다면 실행계획 점검
  • 인덱스/조인 방식 최적화

✔ B. 네트워크 지연/패킷 드롭

  • 서버 ↔ WAS ↔ LB ↔ DB 네트워크 RTT 확인
  • 방화벽/Proxy Idle Timeout 값 증가

✔ C. DB 세션 지연 (락, 대기 이벤트)

  • blocking session 해제
  • 문제 세션 kill

✔ D. Middleware 타임아웃

  • JDBC/ODBC timeout 증가
  • Connection pool 설정 점검

✔ E. Listener 문제

  • listener.log 확인
  • listener reload/restart

6️⃣ 오류 분석 흐름도

1) SQL 응답 지연 발생 → 2) 클라이언트 또는 미들웨어에서 타임아웃 → 3) 세션 강제 종료 → 4) ORA-01013 표시 → 5) 경우에 따라 ORA-03113/03135 등 후속 오류 발생

7️⃣ 기본 오류 대응 4단계

  1. 오류 로그 및 alert log 즉시 확보
  2. 세션 대기 이벤트 분석
  3. 네트워크 및 listener 상태 확인
  4. SQL 최적화 or 타임아웃 조정

8️⃣ 결론 요약

✔ ORA-01013은 단순 취소 오류처럼 보이지만, 실제로는 타임아웃·네트워크 지연·세션 블로킹이 근본 원인일 때가 많다.

✔ ORA-03113, ORA-03135, ORA-12170 등과 함께 나타난다면 시스템 레벨 진단이 필수이다.

✔ SQL 성능·Listener·네트워크 모두 통합적으로 점검해야 한다.
반응형
LIST