27.02.2016 0 min to read

ORA-00600: internal error code, arguments: [4194]

Category : Статьи

Эта ошибка возникает в случае несоответствия между REDO записями и сегментами отката (записями UNDO). Обычно эта ошибка имеет как минимум 2 дополнительных параметра в квадратных скобках:

  • Первый параметр показывает максимальный номер записи UNDO в сегменте отката.
  • Второй параметр показывает номер записи UNDO в блоке REDO.

Например так:

ORA-00600: internal error code, arguments: [4194], [19], [33], [], [], []

 

Действия

Для решения этой проблемы необходимо пересоздать табличное пространство UNDO. Для начала переключим управление откатом на режим, в котором используются сегменты (rollback_segment), расположенные в системном табличном пространстве (SYSTEM). Соединяемся с простаивающим экземпляром БД, запускаем его и останавливаемся перед этапом монтирования. Создаем конфигурационный файл PFILE из SPFILE и останавливаем БД.

startup nomount;
create pfile from spfile;
shutdown immediate

 

В полученном PFILE комментируем строку undo_tablespace=UNDOTBS1 и добавляем строку undo_management=MANUAL. Вот так:

undo_management=MANUAL
#undo_tablespace=UNDOTBS1

 

Для упрощения, просто обновляем SPFILE на основе отредактированного PFILE и монтируем БД.

startup nomount;
create spfile from pfile;
alter database mount;

 

Удаляем табличное пространство UNDO и создаем новое.

-- удаление старого табличного пространства
alter database datafile 'ORACLE_BASE/oradata/SID/undotbs01.dbf' offline drop;
alter database open;
drop tablespace UNDOTBS1 INCLUDING CONTENTS and datafiles;
-- создание нового табличного пространства
CREATE UNDO TABLESPACE undotbs DATAFILE 'ORACLE_BASE/oradata/SID/undotbs02.dbf' SIZE 100M;
shutdown immediate

 

Возвращаем обратно параметр конфигурационного файла.

#undo_management=MANUAL
undo_tablespace=UNDOTBS1

 

Пересоздаем из него SPFILE и запускаем БД.

startup nomount;
create spfile from pfile;
shutdown immediate
startup