15.3 입력과 적재 문제
입력이 실패할 때
클라이언트가 보고한 전체 오류, 대상 데이터베이스·테이블, 입력 방식, 마지막 성공 행을 먼저 기록합니다. 오류 코드 의미는 오류 코드 사전에서 확인하고 이 페이지의 고정 코드 표에 의존하지 않습니다.
DESC target_table;
SELECT NAME, TYPE, COLCOUNT
FROM M$SYS_TABLES
WHERE NAME = 'TARGET_TABLE';다음을 확인합니다.
- 입력 열 수·순서·타입과 NULL 허용 여부
- 현재 데이터베이스와 테이블 소유자
- 사용자
CONNECT와 테이블INSERT권한 - 시간 문자열 형식과 연결 시간대
- 파일 시스템 공간과
V$STORAGE_USAGE - Append API의 반환값, 실패 행과 flush 결과
시간 역순 입력 가능 여부나 UPDATE/DELETE 조건은 테이블 타입에 따라 다르므로 해당 활용 장의 제약 문서를 확인합니다.
CSV import가 실패할 때
현재 배포본의 옵션은 machloader -h로 확인합니다.
machloader -h
machloader -s 127.0.0.1 -P 5656 -u app_user \
-t target_table -i /data/input.csv \
-b /data/input.bad -l /data/input.log실패 시 다음 순서로 작은 파일부터 재현합니다.
- 절대 경로와 서버가 아닌 loader 실행 호스트의 파일 권한을 확인합니다.
- CSV 한 행의 열 수와
DESC target_table결과를 비교합니다. - 인코딩 이름을 현재 도움말과 대조합니다. 배포본에서 확인되는 이름에는
UTF8,MS949,KSC5601,EUCJP등이 있습니다. - 구분자와 인용 문자 옵션을 실제 파일과 맞춥니다.
- 날짜 형식 옵션에는 대상 열 이름과 형식을 함께 지정합니다.
- bad 파일의 첫 실패 행을 고친 뒤 별도 검증 테이블에 다시 적재합니다.
-F 구문의 정확한 형식과 loader 옵션은
machloader 명령/옵션 사전을
사용하십시오. 일부 성공 뒤 재시도할 때는 이미 입력된 범위를 확인해 중복을 방지합니다.
최근 업데이트