0

このエラーに直面しています。このエラーが原因で、システム全体がダウンしているようです。ログとすべてを確認した後、1 つの宛先テーブルが問題である可能性があることがわかりました。

これはエラーです:

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 => date または char => number) 中に発生する可能性はありますか?

その内部エラーも修正するにはどうすればよいですか? データベースを以前のバックアップにロールバックする必要がありますか?

前もって感謝します。

4

3 に答える 3

2

Oracle データベースを最新のパッチ 21 で 11.2.0.3 にアップグレードしました。現在、すべて正常に動作しています :-)

于 2013-07-01T10:58:45.263 に答える
0

これは、インデックスの破損のように聞こえます。制約を無効にし、インデックスを削除し、インデックスを再作成して、制約を再度有効にします。

于 2013-06-27T05:57:49.980 に答える