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

dbstalker, 07 июля

Обычно ошибка ORA-00600: internal error code, arguments: [4194] возникает тогда, когда оракл находит несоответствие между redo и undo. Есть у меня подозрение, что это связано с дисковым кэшем, но пока утверждать ничего не могу.

Как я борюсь с этой проблемой?

Базу останавливаем (Shutdown immediate) и делаем копию. После чего делаем попытку восстановить работоспособность базы данных.

В init.ora вносим следующие изменения:

  1. undo_management=MANUAL
  2. убираем строчку - undo_tablespace=UNDOTBS1

    Этими действиями мы временно заставим оракл использовать rollback_segment, который находится в табличном пространстве system.

  3. Этот шаг необязательный, запасной вариант. Он на тот случай, если без него не получается. Сначала посмотрим в alert.log и найдем наши rollback_segments. Например:
    …
    Undo Segment 11 Onlined
    Undo Segment 12 Onlined
    Undo Segment 13 Onlined
    …
    
    или выполнив команду
    select '"'||segment_name||'"'||',' from sys.dba_rollback_segs where tablespace_name = 'UNDOTBS1'

    В init.ora добавим строчки

    _OFFLINE_ROLLBACK_SEGMENTS=(_SYSSMU11$,_SYSSMU12$,_SYSSMU13$)
    _corrupted_rollback_segments = (_SYSSMU11$,_SYSSMU12$,_SYSSMU13$)

После внесения изменений в init.ora, выполняем следующие шаги.

startup mount pfile=init.ora
alter database datafile '/opt/oracle/oradata/my_dbs/undotbs01.dbf' offline drop
alter database open;


можно выполнить (это не обязательно) следующие команды для удаления ролбак сегментов:
DROP ROLLBACK SEGMENT "_SYSSMU11$";
DROP ROLLBACK SEGMENT "_SYSSMU12$";
DROP ROLLBACK SEGMENT "_SYSSMU13$";


drop tablespace UNDOTBS1 INCLUDING CONTENTS and datafiles;
CREATE UNDO TABLESPACE undotbs2 DATAFILE '/u01/oracle/rbdb1/undo2.dbf' SIZE 200M;
alter system undo_tablespace=UNDOTBS2;
alter system set undo_management=auto scope=both;
shutdown immediate 
startup

немного о самой ошибке:

ERROR: 
ORA-600 [4194] [a] [b]

VERSIONS: 
versions 6.0 to 10.1 

DESCRIPTION:

A mismatch has been detected between Redo records and rollback (Undo) 
records.

We are validating the Undo record number relating to the change being 
applied against the maximum undo record number recorded in the undo block.

This error is reported when the validation fails.

ARGUMENTS:
Arg [a] Maximum Undo record number in Undo block
Arg [b] Undo record number from Redo block

FUNCTIONALITY: 
Kernel Transaction Undo called from Cache layer

IMPACT: 
PROCESS FAILURE
POSSIBLE ROLLBACK SEGMENT CORRUPTION

SUGGESTIONS:

This error may indicate a rollback segment corruption.

This may require a recovery from a database backup depending on 
the situation.

This error may indicate a rollback segment corruption.

  This may require a recovery from a database backup depending on 
  the situation.

  If the Known Issues section below does not help in terms of identifying
  a solution, please submit the trace files and alert.log to Oracle
  Support Services for further analysis.

Очень рекомендую почитать комментарии посетителя под ником "kolomyi_a" к статьеOracle Hard Corruption. В очередной раз об ошибке ORA-00600. Часть 3 -1. Hard Corruption"

 

Новый комментарий

Я не спамер: введите суму 1+2



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Спутниковое тв
21 января, 3 ответа