반응형
![[Oracle] ORA-01034, ORA-27101 오류](https://blog.kakaocdn.net/dna/TVkk4/dJMb995Sq9g/AAAAAAAAAAAAAAAAAAAAAJMnIN2ORb8X6VI6AEvUlRpOllYrf4JA4bzXQGHbEDJL/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1764514799&allow_ip=&allow_referer=&signature=xkfx01bKAO1xKue9hCYU9G3ObUM%3D)
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
'지식 공유 > DBMS' 카테고리의 다른 글
| [Oracle] ORA-1013 (0) | 2025.11.24 |
|---|---|
| [Oracle] SE 기반 TPC-H 벤치마크 — 개념, 활용 상황, 기대효과 (1) | 2025.11.23 |
| [Oracle] CRS-1013 오류 (1) | 2025.11.23 |
| [ORACLE]ORA-04061, ORA-04065, ORA-06508, ORA-04068 (0) | 2025.11.20 |
| PostgreSQL repmgr 스플릿브레인 복구 (1) | 2025.11.19 |
