자주 발생하는 오라클 에러 정리
[Error]
ORA-01741: 길이가 0인 식별자는 부적합합니다
[Solution]
쿼리 내 더블쿼텐션(") 이 사용됐는지 확인해서 싱글쿼텐션(') 으로 변경
[Error]
ORA-01722: 수치가 부적합합니다
[Solution]
숫자와 문자가 섞인 컬럼일 경우 발생. 정규식을 사용해 숫자만 추출한 후 사용
TO_NUMBER(REGEXP_REPLACE(컬럼, '[^0-9]'))
[Error]
ORA-01438: 이 열에 대해 지정된 전체 자릿수보다 큰 값이 허용됩니다.
[Solution]
DB 컬럼에 설정된 길이보다 큰 값이 넘어갈 때 발생하는 에러, 저장 할 파라미터의 크기를 체크!
[Error]
ORA-01789: 질의 블록은 부정확한 수의 결과 열을 가지고 있습니다.
[Solution]
UNION, UNION ALL, INTERSECT, MINUS 연산자를 사용할 때 SELECT 하는 컬럼의 수가 맞는지 체크!
[Error]
ORA-01747: 열명을 올바르게 지정해 주십시오.
[Solution]
쿼리에 컬럼명이 들어갈 자리가 비어있을 경우 발생. 쿼리에 컬럼명이 제대로 들어가는지 체크!
[Error]
ORA-02019: 원격 데이터베이스 접속을 위한 접속 기술자를 찾을 수 없습니다
[Solution]
DB 링크가 제대로 설정되지 않아서 발생하는 문제입니다. @Link명 이 제대로 설정됐는지 확인합니다.
[Error]
ORA-28040: 일치하는 인증 프로토콜 없음
[Solution]
DB관련 설정정보가 맞다면 OJDBC 버전이 맞지 않아 발생할 수 있습니다. Oracle 버전에 맞는 OJDBC 버전을 사용하는지 확인하세요!
[Error]
java.sql.SQLException: ORA-01502: 인덱스 또는 인덱스 분할영역은 사용할 수 없는 상태입니다
[Solution]
테이블 파티션이 이동하거나 , 테이블 스페이스 이동 , 병합 등 으로 인해 인덱스 참조가 깨진 현상입니다.
파티션 인덱스 리빌드를 진행하면 해결됩니다.
[Error]
ORA-14400: 삽입된 분할 영역 키와 매핑되는 분할 영역이 없음
[Solution]
생성되지 않은 파티션에 접근할 때 발생하는 에러입니다. 파티션이 생성되어 있는지 확인해보세요!
SELECT * FROM 테이블명 PARTITION (파티션명)
[Error]
java.sql.SQLDataException: ORA-01861: 리터럴이 형식 문자열과 일치하지 않음
[Solution]
DATE 타입에 VARCHAR를 넣어려 할 때나 비교하려 할 때 발생하는 오류입니다.날짜 타입 컬럼이 있는 부분을 확인하세요!
'Database > SQL' 카테고리의 다른 글
ORACLE LAG, LEAD 함수 사용법 (이전, 다음 행의 값에 접근) (0) | 2021.10.07 |
---|---|
[NULL 처리]Incorrect decimal value: '' for column 1 java 에러 수정 방법 (2) | 2021.04.12 |
MySql, MariaDB에서 connect by level 사용방법 (0) | 2021.02.23 |
오라클 최근 몇달, 최근 몇일 데이터 행으로 조회하기 (0) | 2020.12.09 |
Oracle, MySql, MsSql 2개이상 복수 테이블 update 하는 방법 (1) | 2020.09.11 |
댓글