I am having a job which will load a sequential file ( input file ) into staging table .I am using oracle enterprise stage for doing this . I am using direct load .Today job got aborted saying below error message in oracle log file :
Record 42944: Rejected - Error on table table_name, column LAST_NM.
ORA-12899: value too large for column LAST_NM (actual: 27, maximum: 25)
Record 43237: Rejected - Error on table table_name, column LAST_NM.
ORA-12899: value too large for column LAST_NM (actual: 27, maximum: 25)
I have checked all the rows and calculated the length of the field LAST_NM and its coming as 25 .I am not getting a record with 27 as its length .
I have removed the oracle enterprise stage and put a seq file .Job ran successfully and i checked the length of last_nm .Its 25 .No record is there where last_nm=27. So , is it something to do with oracle enterprisde stage ??
Because your VARCHAR2 columns are defined as a number of bytes when (for multi-byte character sets) they should be defined in characters instead. X characters does not always fit in X bytes as you can can see from your errors.
-craig
"You can never have too many knives" -- Logan Nine Fingers