1. 오류 메시지를 정확히 확인하자
Oracle 오류는 대부분 ORA-XXXXX 코드와 메시지를 포함하고 있어. 오류 메시지를 무시하지 말고 꼼꼼히 읽어보는 게 중요하다.
- 테이블 조회 관련 오류: ORA-00942: table or view does not exist → 권한 문제 또는 오타 확인
- 데이터 타입 오류: ORA-01722: invalid number → 문자 데이터를 숫자로 변환하려고 할 때 발생
2. 가장 기본적인 원인부터 빠르게 점검하기
대부분의 오류는 단순한 실수에서 발생하므로, 아래 체크리스트를 먼저 확인해본다.
✅ 테이블, 컬럼명 오타 (ORA-00904)
✅ 권한 부족 (ORA-01031 → GRANT 필요 여부 확인)
✅ 락 걸린 상태 (ORA-00054 → V$LOCK 조회)
✅ 커넥션 오류 (ORA-12154 → tnsnames.ora 확인)
3. 실시간 세션 및 락 확인하는 명령어 익숙해지기
Oracle을 사용할 때 세션이 락 걸리면 빠르게 확인하고 해제하는 것이 중요하다.
-- 현재 락 걸린 세션 확인
SELECT * FROM V$LOCK;
-- 세션 강제 종료
ALTER SYSTEM KILL SESSION 'SID,SERIAL#' IMMEDIATE;
4. 성능 관련 오류 (TEMP, UNDO 부족) 예방하기
- ORA-01652 → TEMP 테이블스페이스 부족 → 테이블스페이스 확장 필요
- ORA-01555 → UNDO 테이블스페이스 부족 → 트랜잭션 최적화 & UNDO 크기 조정
-- TEMP 테이블스페이스 크기 확인
SELECT
TABLESPACE_NAME, FILE_NAME, BYTES/1024/1024 AS SIZE_MB
FROM DBA_TEMP_FILES;
5. 커넥션 이슈 빠르게 점검하기
서버 접속 오류가 발생하면 네트워크 문제인지, Oracle 설정 문제인지 먼저 구분하는 것이 중요하다.
# TNS 설정 확인 tnsping [TNS_ALIAS]
# 리스너 상태 확인 lsnrctl status
- ORA-12154: TNS:could not resolve the connect identifier specified → tnsnames.ora 설정 확인
- ORA-12514: TNS:listener does not currently know of service requested in connect descriptor → lsnrctl status로 서비스 존재 여부 확인
✅ 마무리 TIP:
- 자주 발생하는 오류는 해결법을 노트해두고, 비슷한 문제가 생기면 바로 적용하자!
- V$SESSION, V$LOCK, DBA_TEMP_FILES 같은 시스템 뷰를 잘 활용하면 빠르게 문제 해결 가능!
'Database > Oracle' 카테고리의 다른 글
[Oracle]ORA-01034: ORACLE not available 오류 해결 방법 (0) | 2025.02.24 |
---|---|
[Oracle]ORA-12514: TNS:listener does not currently know of service requested 오류 해결 방법 (0) | 2025.02.24 |
[Oracle]ORA-28000: the account is locked 오류 해결 방법 (0) | 2025.02.24 |
[Oracle] 오브젝트 관리 필수 SQL 정리 – 테이블, 인덱스, 캐시, 변경 이력 확인 (0) | 2025.02.10 |
[Oracle]V$ 뷰로 실시간 DB 분석하기 – 세션, 락, 성능 모니터링 쿼리 모음 (0) | 2025.02.10 |