[Oracle] ORA-01403 : no data found 원인 : "데이타가 없다"는 오류이지만 array fetch 처리시에는 "지정한 수만큼 데이타를 가져오지 못했다"도 포함하여 리턴되므로 주의합니다. EX) 한번 fetch시 100건이 조회되도록 호출했는데 조회결과 100건이 안될 경우(1~99)에도 리턴됩니다. 조치 : 업무적으로 오류로 처리할 수도 있고 정상으로 처리할 수도 있다. Database/ORACLE 2019.06.27
[Oracle] ORA-01407 : cannot update ( ) to NULL 원인 : - insert 또는 update 처리 시 Not NULL 컬럼에 아무런 값을 설정하지 않았을 경우 발생. ※ 모듈에서 사용하는 구조체가 old 버전인지 확인합니다. DBIO 입력을 변경했는데 모듈을 재컴파일하지 않은 경우에도 종종 발생. 조치 : Not NULL 컬럼에 값을 설정 Database/ORACLE 2019.06.27
[Oracle] ORA-01002 : fetch out of sequence 원인 : Proframe에서는 거의 100% fetch 루프의 종료조건 처리가 잘못되어 발생. 이미 모든 데이타를 가져와서 RC_NFD(ORA-01403) 리턴을 받았음에도 불구하고 루프가 종료되지 않고 다시 fetch를 시도한 경우. 처리 : 루프로직 수정 Database/ORACLE 2019.06.27
[Oracle] ORA-00054 : resource busy and acquire with NOWAIT specified or timeout expired 원인 : 처리대상 row가 lock상태일때 DBIO에 지정한 대기시간이 0이라 NOWAIT으로 바로 리턴되는 오류로 보통 ORA-03006과 함께 lock으로 인한 resource busy 오류로 판단 Database/ORACLE 2019.06.27
[Oracle] ORA-30926: 원본 테이블의 고정 행 집합을 가져올 수 없습니다 원인 : MERGE 문에서 USING 절 안에 KEY당 2건이상 결과가 발생 조치 : USING 절에서는 KEY당 1건만 조회되도록 SQL변경(DISTINCT, GROUP 사용) Database/ORACLE 2019.06.27
[Oracle] ORA-12899: "TEST1"."TEST2"."TEST3" 열에 대한 값이 너무 큼(실제: 15, 최대값: 10) 원인 : VARCHAR2(10)으로 설정되어 있는 컬럼에 15BYTE 데이터를 INSERT시에 발생. 조치 : - VARCHAR2(15)로 컬럼 길이 증가. - INSERT 값을 10이하로 줄임. Database/ORACLE 2019.06.27
[Oracle] ORA-14016: LOCAL 분할영역 인덱스로 강조된 테이블은 분할영역이 되어 있어야 합니다 원인 : 일반테이블에서 INDEX 생성 시 LOCAL 영역으로 지정했기 때문. 조치 : LOCAL 영역 지정하는 코드를 제거. Database/ORACLE 2019.06.27
[Oracle] ORA-01555: 너무 이전 스냅샷:롤백 세그먼트 11수에 "_SYSSMU12_1892219420$" 이름으로 된 것이 너무 작습니다 원인 : - 대용량 테이블 INSERT시 발생 EX) INSERT INTO TEMP SELECT TDATA FROM REAL REAL에 있는 데이터를 TEMP 테이블로 INSERT 하는 SQL입니다. 여기서 데이터가 많아서 5분정도 걸리는데 INSERT 사이에 REAL의 데이터가 변경된 경우 발생할 수 있습니다. 조치 : - 대용량 INSERT시에는 SELECT 대상 테이블이 변경되지 않도록 합니다. - 실행시간을 짧게 쪼게서 작업합니다. Database/ORACLE 2019.06.27
[Oracle] ORA-01438: 이 열에 대해 지정된 전체 자릿수보다 큰 값이 허용됩니다 원인 : INSERT 하려는 컬럼의 자릿수가 NUMBER(1,0) 인데 1자리 초과하여 입력 조치 : 자릿수에 맞게 값 변경 Database/ORACLE 2019.06.27
[Oracle] ORA-01400: NULL을 ("TEST1"."TEST2"."TEST3") 안에 삽입할 수 없습니다. 원인 : - PK가 존재하는 테이블에 PK에 NULL을 입력 조치 : - PK에 적절한 값을 입력하여 정상적인 ROW INSERT Database/ORACLE 2019.06.27