SQL * Loader будет пытаться интерпретировать строку как метку времени, используя свой стандартный NLS параметры сеанса, который по умолчанию будет что-то вроде:
select value from nls_session_parameters where parameter = 'NLS_TIMESTAMP_FORMAT';
VALUE
--------------------------------------------------------------------------------
DD-MON-RR HH24.MI.SSXFF
... хотя ваш, кажется, что-то еще, поскольку этот параметр дает ORA-01843: недействительный месяц 'с примерной строкой. Файл журнала от нагрузки также будет показывать формат он пытался применить:
Column Name Position Len Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
"<field>" 1085 * , DATETIME DD-MON-RR HH24.MI.SSXFF
Независимо от формата по умолчанию, это, кажется, не соответствует формату в файле. Вы можете изменить формат базы данных или триггера входа в систему, но это не будет полезно, если у вас есть другие источники или выходы, которые ожидают существующий формат; и вы не должны полагаться на настройки NLS, так как они могут быть разными в другой среде.
Вы можете указать формат временной метки в части определения поля:
... Field POSITION(1085) TIMESTAMP "YYYY-MM-DD-HH24.MI.SS")
Если столбец timestamp with time zone
- предложил теги, но не вопрос - тогда он будет вставлен в часовом поясе сеанса.
Чаще всего указывается диапазон позиций, хотя при условии, что начальное положение 1085 будет работать, если это последнее поле в записи.