Я столкнулся с этой ошибкой, и из-за этой ошибки вся система, похоже, опускается. После проверки журналов и всего, я обнаружил, что одной из таблиц назначения может быть проблема.Ошибка kdtigetrow-2 во время интеграции
Это ошибка:
MERGE INTO vacations vac
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kdtigetrow-2], [25], [40], [39],
[], [], [], [], [], [], [], []
Это исходная таблица:
create table TEMP_VACATIONS
(
idd VARCHAR2(10),
start_date VARCHAR2(10),
end_date VARCHAR2(10),
day_count VARCHAR2(10),
vac_type VARCHAR2(10),
arrival_date DATE
)
Это целевая таблица:
create table VACATIONS
(
user_id NUMBER(10) not null,
start_date DATE not null,
end_date DATE not null,
days_count NUMBER(3) not null,
vacation_type INTEGER,
arrival_date VARCHAR2(20),
idd NUMBER(10)
)
alter table SPENT_VACATIONS
add constraint SPENT_VACATIONS$PK primary key (USER_ID, START_DATE)
using index
tablespace ARCV25
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 320K
next 1M
minextents 1
maxextents unlimited
);
и это скрипт:
MERGE INTO vacations vac
USING temp_vacations tmpvac
ON (vac.user_id = TO_NUMBER(tmpvac.idd) AND vac.start_date = TO_DATE(tmpvac.start_date, 'dd.mm.yyyy') AND vac.end_date = TO_DATE(tmpvac.end_date, 'dd.mm.yyyy'))
WHEN NOT MATCHED THEN
INSERT (vac.user_id, vac.start_date, vac.end_date, vac.days_count, vac.vacation_type, vac.arrival_date)
VALUES (TO_NUMBER(tmpvac.idd), TO_DATE(tmpvac.start_date, 'dd.mm.yyyy'), TO_DATE(tmpvac.end_date, 'dd.mm.yyyy'), tmpvac.day_count, tmpvac.vac_type, TO_CHAR(tmpvac.arrival_date, 'dd.mm.yyyy'))
LOG ERRORS INTO stara.migration_err('File: STARA_EHR.SPOLO.TXT => merge operation => annual_vacations') REJECT LIMIT UNLIMITED;
COMMIT;
версия оракула:
Oracle Database 11g Release 11.2.0.2.0
Возможно ли, что эта ошибка возникает во время разговора типа (Char => даты или полукокса => номер)?
Как я могу исправить эту внутреннюю ошибку? Нужно ли мне откатывать базу данных до предыдущей резервной копии?
Заранее спасибо.
Внутренняя ошибка означает, что оператор не удалось из-за ошибки, вам не нужно, чтобы восстановить база данных. Единственная ошибка, которую я вижу, похоже, связана с конвейерными функциями таблицы, которые вы не используете. Преобразования типов не должны быть проблемой - я могу запустить это (в 11.2.0.3) без проблем, но я придумываю данные, очевидно; и я предположил, что у вас есть тот же PK на 'vacations', как вы показали, что на' потраченные_vacations'? –