Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Oracle

ORA-08102: index key not found, obj# file block на системном индексе : Oracle

20.04.2024 11:24


27.07.2014 09:56
OlegON
 
Сколько раз твердили миру, не заводите базы на всяком дерьме...
Устраивают помойку на недожелезе. В данном случае - база в виртуалке от мелкомягких.
Во-первых, обратите внимание на организацию дисков. Много ругани на авторасширение дисков (динамическое) при авторасширении же БД. Если уж скрещиваете ужа с ежом - ставьте фиксированный размер дисков в виртуалке. Например, 10.2.0.4 от такой комбинации может умереть. Совсем (баг). Из бекапа восстанавливаться будете.
Во-вторых, хотите сохранить здоровье и нервы - не запускайте неигрушечные БД на виртуалках.
Но, возвращаемся к теме.
Цитата:
ORA-08102: index key not found, obj# 424, file 1, block 42940 (2)
простейшими запросами (я их где-то тут уже выкладывал) получаем, что это I_H_OBJ#_COL#. Прелесть в том, что это системный индекс и при попытке его перестроить получите ORA-00701.
Для обхода ограничений по перестроению системных индексов делаем следующее
Код:
shutdown immediate
startup migrate
после чего перестраиваем индекс, обязательно объявляя его инвалидным (каковым он и является)
Код:
alter index I_H_OBJ#_COL# unusable;
alter index I_H_OBJ#_COL# rebuild;
и запускаем БД в обычном режиме
Код:
shutdown immediate
startup
Часовой пояс GMT +3, время: 11:24.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.