
개발 공부를 처음 시작하면 SQL 문법 자체에 집중하게 된다. 하지만 실제 운영 프로젝트에 들어가 보면 SQL 문법보다 더 자주 보게 되는 것이 바로 SQL 에러다. 특히 Oracle 기반 제조·MES·PLM 프로젝트에서는 데이터 양이 많고 여러 시스템이 연결되어 있기 때문에 작은 SQL 오류 하나가 운영 장애로 이어지는 경우도 있었다. 나 역시 처음에는 에러 메시지가 너무 어려워서 당황했던 기억이 많다. 하지만 운영 경험이 쌓이면서 자주 발생하는 에러들은 어느 정도 패턴이 있다는 걸 느끼게 되었다. 오늘은 실무에서 정말 자주 보게 되는 SQL 에러들과 실제로 어떤 상황에서 발생하는지 쉽게 정리해보려고 한다.
💻 ORA-00904 Invalid Identifier
실무에서 가장 많이 보는 에러 중 하나다.
쉽게 말하면:
👉 존재하지 않는 컬럼명 사용
했을 때 발생한다.
예:
SELECT USER_NM
FROM MEMBER;
그런데 실제 컬럼명이:
USER_NAME
이라면 에러가 발생한다.
처음에는 단순 오타라고 생각하기 쉽지만, 운영 프로젝트에서는:
- 컬럼 변경
- Alias 충돌
- JOIN 구조 문제
때문에 자주 발생했다.
특히 대형 프로젝트에서는 테이블 구조가 계속 변경되기 때문에 컬럼 확인 습관이 굉장히 중요했다.
🔑 ORA-01722 Invalid Number
이 에러도 정말 자주 본다.
쉽게 말하면:
👉 숫자 컬럼에 문자 데이터를 넣으려 할 때
발생한다.
예:
WHERE USER_ID = 'ABC'
그런데 USER_ID가 NUMBER 타입이면 에러가 난다.
실무에서는:
- 데이터 타입 불일치
- 외부 데이터 연동
- NULL 처리 미흡
때문에 자주 발생했다.
특히 제조 데이터 파싱 프로젝트에서는 외부 설비 데이터 형식이 예상과 다르게 들어오는 경우가 많아서 이런 에러를 꽤 자주 봤다.
📊 ORA-00001 Unique Constraint
이건:
👉 중복 데이터 저장
하려고 할 때 발생한다.
예를 들어 회원 ID가 중복되면:
PK_MEMBER
같은 Primary Key 제약 조건 오류가 발생한다.
실무에서는:
- 중복 배치 실행
- 동시 저장 처리
- 트랜잭션 문제
때문에 자주 발생했다.
운영 환경에서는 단순 저장보다:
👉 “중복 방지 로직”
이 굉장히 중요하다는 걸 많이 느꼈다.
💡 실무에서 중요한 건 에러를 “빨리 이해하는 능력”
처음에는 SQL 에러가 굉장히 무섭게 느껴진다.
하지만 운영 경험이 쌓이면:
- 컬럼 문제
- 타입 문제
- 중복 문제
- NULL 문제
처럼 어느 정도 패턴이 보이기 시작한다.
실무에서는 결국:
👉 에러를 빨리 읽고 원인을 찾는 능력
이 굉장히 중요했다.
🔥 마무리
SQL 에러는 개발자라면 누구나 계속 만나게 되는 문제다. 처음에는 어렵게 느껴질 수 있지만, 실제 운영 경험이 쌓이면 자주 발생하는 패턴들이 점점 눈에 들어오기 시작한다.
실무를 경험하면서 느낀 건 결국 중요한 건:
👉 에러를 안 만나는 개발자
보다
👉 에러를 빠르게 해결할 수 있는 개발자
라는 점이었다.
'개발기초' 카테고리의 다른 글
| 개발기초 장애 대응할 때 가장 먼저 하는 일 (실무 운영 개발자가 실제로 하는 대응 순서) (0) | 2026.05.20 |
|---|---|
| 개발기초 Oracle Index 왜 중요한가? (실무에서 성능 차이가 크게 나는 이유) (0) | 2026.05.20 |
| 개발기초 SQL 프로시저 고급화 (성능 최적화와 운영 관리 방법, 고급화 요소) (0) | 2026.05.19 |
| 개발기초 SQL 프로시저 사용법 쉽게 설명 (DB 자동화 개념, 실행방법, 저장예제) (0) | 2026.05.18 |
| 개발기초 SQL 프로시저(Procedure)란 무엇인가? 실무에서 계속 사용되는 이유( 대량데이터 처리, 프로시저 장단점, 실무에서 느낀점) (0) | 2026.05.18 |