[Oracle] ORA-01034, ORA-27101 오류

반응형

[Oracle] ORA-01034, ORA-27101 오류

Oracle ORA-01034, ORA-27101 오류 분석 및 복구 가이드

Oracle ORA-01034 / ORA-27101 오류 분석 및 복구 가이드

1️⃣ 오류 개요

ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

두 오류는 Oracle Database Instance가 정상적으로 기동되지 않았거나(client에서 접근 가능한 상태가 아님) Oracle Shared Memory Segment(SGA)가 생성되지 못했을 때 발생한다.

즉, “Oracle이 떠 있지 않다” 또는 “Instance가 메모리를 못 잡고 실패했다”는 의미.

2️⃣ 자주 함께 발생하는 오류 코드

  • ORA-12514 – Listener가 서비스명을 알지 못함
  • ORA-12541 – Listener 없음
  • ORA-01102 – Database Exclusive Mount 실패
  • ORA-01507 – Database not mounted
  • ORA-27102 – Out of memory

특히 ORA-27101은 메모리 설정 불일치(SGA/PGA 값 또는 HugePages 적용 문제)와 자주 묶여 발생한다.

3️⃣ 원인별 상세 분석

✔ 3.1 Instance 자체가 내려가 있음

가장 흔한 원인으로, Oracle 프로세스가 종료되거나 서버 재부팅 후 자동기동이 되지 않음.

ps -ef | grep pmon

✔ 3.2 ORACLE_SID 설정 오류

리눅스 세션에서 설정된 ORACLE_SID가 실제 인스턴스와 다르면 ORA-01034 발생.

echo $ORACLE_SID

✔ 3.3 SGA 메모리 확보 실패 (ORA-27101의 주요 원인)

  • HugePages 미적용
  • sysctl 메모리 파라미터 부족
  • 리눅스 Transparent HugePages 활성화
  • 메모리 부족(OOM Killer 발생)

✔ 3.4 spfile/pfile 손상 또는 설정 오류

SGA 값이 지나치게 커서 OS가 할당 불가 → ORA-27101 → ORA-01034.

✔ 3.5 Listener는 떠 있으나 DB는 Down 상태

클라이언트는 Listener까지 연결됨 → DB 접근 시 ORA-01034.

4️⃣ 즉시 점검 절차

✔ 4.1 Oracle 프로세스 확인

ps -ef | grep pmon
ps -ef | grep smon

✔ 4.2 ORACLE_SID 검증

echo $ORACLE_SID
export ORACLE_SID=ORCL

✔ 4.3 Listener 상태 확인

lsnrctl status

✔ 4.4 Alert 로그 확인

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

✔ 4.5 Shared Memory 확인

ipcs -m
ipcs -s

5️⃣ 복구 절차

✔ 5.1 Instance 수동 기동

sqlplus / as sysdba
startup

✔ 5.2 SGA 오류 시 pfile 임시 기동

sqlplus / as sysdba
startup pfile=/tmp/init.ora

기동 후 정상 spfile 재생성:

create spfile from pfile='/tmp/init.ora';

✔ 5.3 HugePages 문제 해결

Transparent HugePages 비활성화 + HugePages 재설정 필요.

cat /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled

✔ 5.4 Listener 서비스 재등록

lsnrctl reload
srvctl reload listener

✔ 5.5 서버 메모리 점검

dmesg | grep -i oom
free -h

6️⃣ 오류 분석 흐름도

1) PMON/SMON 떠 있음? → 아니오 → Instance Down 2) SGA 확보 가능한가? → 오류 → HugePages/메모리 설정 수정 3) spfile 문제? → pfile 기동 후 spfile 재생성 4) Listener 잡힘? → ORA-12514 동반 시 서비스 등록 문제 5) Alert 로그에 ORA-27101? → Shared Memory Realm 생성 실패

7️⃣ 예방 전략

  • HugePages 설정 및 THP 비활성화 유지
  • spfile 백업 정례화
  • OS 메모리 param(sysctl) 정기 점검
  • 서버 재부팅 후 자동 기동 스크립트 구성
  • Listener 서비스 자동 기동 구성
반응형
LIST