[ОТВЕТИТЬ]
Опции темы
14.11.2014 10:01  
Troll
База данных Супермаг+ штатно генерируется неправильно, что приводит к рассогласованию связки индекс-constraint и ошибкам, в том числе повреждению структуры. В связи с этим был создан нижеследующий скрипт для исправления ошибок генерации БД. В связи с допущенным разработчиками косяком (непониманием ими правил создания constraint) настоятельно рекомендуется отключать все административные задания Супермага, касающиеся индексов.

Скрипт в большинстве случаев приведет к неработоспособности БД и потребует долечивания базы оптимизатором. Не запускайте, пока не поймете точно, что он делает и с какими последствиями!
Код:
DECLARE
   sql_stmt   VARCHAR2 (100);
BEGIN
   FOR c IN (select constraint_type,owner,table_name,constraint_name,index_owner,index_name from dba_constraints where index_name is not null and owner='SUPERMAG' and (index_name,index_owner) not in (select index_name,owner from dba_indexes where temporary='Y'))
   LOOP
begin
execute immediate 'alter table "'||c.owner||'"."'||c.table_name||'" disable constraint "'||c.constraint_name||'" cascade';
execute immediate 'drop index "'||c.index_owner||'"."'||c.index_name||'"';
execute immediate 'alter table "'||c.owner||'"."'||c.table_name||'" enable constraint "'||c.constraint_name||'"';
exception when others then null;
end;
   END LOOP;
END;
/
 
18.11.2014 12:44  
bayan
Код:
exception when others then null;
я бы убрал...
 
18.11.2014 13:02  
OlegON
я бы заменил :) если убрать, то отвалится сразу, если индекса не будет...
 
19.11.2014 14:21  
bayan
Цитата:
Сообщение от OlegON
я бы заменил :) если убрать, то отвалится сразу, если индекса не будет...
Конечно лучше exeption обрабатывать ) но не when others then null же.
 
19.11.2014 15:10  
OlegON
на нормальной БД должно быть все нормально :) Потом просто посмотреть, что получится и все... Главное, чтобы чайники не запускали...
 
 
Опции темы



Часовой пояс GMT +3, время: 18:40.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.