четверг, 26 марта 2009 г.

Индексы, индексы....

Все началось с отчета EarlyWatch, согласно которому на BW-системе перестала собираться статистика базы данных (Oracle). Изучение лога задания по обновлению статистики показало, что причиной тому ошибка:

ORA-20000: index "SAPSR3"."/BIC/B*KE" or partition of such index is in unusable state


Сначала бы надена нота 1235952 - Minor functional enhancements in BR*Tools (пункт 6) и предпринята попытка пересоздать индексы с помощью команды

brspace -u / -c force -f idrebuild -i unusable


Команда выполнялась от имени пользователя ora<sid>.
Каково же было удивление, когда на следующий день индексы стали опять "unusable". Выснилось, что эти индексы "бивишных" PSA-таблиц и при удалении данных они разваливались, хотя должны были просто перестроится.
Затем на форуме sdn.sap.com была найдена следующая ветка https://www.sdn.sap.com/irj/scn/thread?messageID=6483705#6483705, где упоминалась нота 1042182 - Secondary index is inconsistent for PSA tables и отчет RSAR_PSA_PARTITION_CHECK. При прочтении ноты было вычитано следующее:

Depending on the scenario, a secondary index can also be created automatically in the background when you use semantic groups.

A secondary index for access optimization when reading from a DataSource must be created locally or in partitions for 'ORACLE' database systems if tables are partitioned.

Проверка с помощью отчета показала, что все разваливщиеся индексы не были локальными. Запуск отчета в режиме "REPAIR' конвертировал индексы в локальные и создавал их заново. Проверка с удалением данных показала, что индексы перестали "разваливаться".
После этого операция была проведена на продуктивной системе.
Вот оно счастье. :)

Комментариев нет:

Отправить комментарий