Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
lki Участник со стажем
Вступление в Клуб: 18.03.2008
|
Пн Май 21, 2012 05:50  Администратор словаря данных. Поиск «инвалидных» о |
|
Полезность: Нет оценки
|
Возникла такая проблемка (уже давно, но как-то уже надоела, может кто поможет советом):
в SQL навигаторе делаем поиск объектов в статусе Invalid, для дальнейшей перекомпиляции. Перекомпиляция исправляет объекты без ошибок в Valid. НО если зайти в администратор словаря данных, то на схеме могут иметься инвалидные операции (у которых пакет не создан) и уже компиляция из администратора словаря данных исправляет такие объекты в валидное состояние.
Вопрос: можно ли как-то выполнить поиск инвалидов, которые в sql-навигаторе не видны, но видны в администраторе словаря данных, для дальнейшей групповой перекомпиляции таких объектов? |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Пн Май 21, 2012 06:10   |
|
Полезность: 2
|
PL/PLUS
Код: |
for (select m(m.ID : meth_id) in methods%rowtype
where m.status!='VALID')
loop
Method.recompile( p_method_id == m.meth_id );
end loop;
|
PL/SQL
Код: |
declare
i integer;
begin
i :=rtl.open;
for x in (select a1.ID METH_ID
from METHODS a1 where a1.STATUS != 'VALID')
loop
METHOD.RECOMPILE(P_METHOD_ID => x.METH_ID);
end loop;
end;
|
|
|
 |
hornet Участник со стажем
Вступление в Клуб: 24.07.2008
|
Пн Май 21, 2012 06:37   |
|
Полезность: Нет оценки
|
В состав каждого обновления входит папка ibso_xx_x\SCRIPTS\
Внутри есть start_compile.bat
Думаю оттуда можно оттолкнуться.
Ну или смотреть сразу s_meth_recomp_all.sql |
|
 |
lki Участник со стажем
Вступление в Клуб: 18.03.2008
|
Пн Май 21, 2012 10:57   |
|
Полезность: Нет оценки
|
спасибо за подсказки. просто надеялся, что есть стандартные средства арма (перекомпиляция обновленных операций есть, а просто перекомпиляции инвалидов нету). |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Пн Май 21, 2012 11:09   |
|
Полезность: Нет оценки
|
lki пишет: | спасибо за подсказки. просто надеялся, что есть стандартные средства арма (перекомпиляция обновленных операций есть, а просто перекомпиляции инвалидов нету). |
У нас используются вьюхи по не валидным операциям и вьюхам.. видно их в навигаторе. там же можно все откомпилировать _________________ всегда есть как минимум 2 выхода |
|
 |
devor Профи
Вступление в Клуб: 13.02.2012
|
Пн Май 21, 2012 11:37   |
|
Полезность: Нет оценки
|
lki пишет: | спасибо за подсказки. просто надеялся, что есть стандартные средства арма (перекомпиляция обновленных операций есть, а просто перекомпиляции инвалидов нету). |
Нарисуйте свое представление и свою операцию (на основе кода выше).
Работает, правда, не быстро, т.к. компиляция в один поток (примерно одна операция в секунду) .
Стандартное средство - скрипт многопоточной компиляции (входит в поставку, насколько я знаю). Если невалидных операций много или, например, нужно перекомпилировать всю схему - то разумно пользоваться скриптом - в несколько потоков комплияция идет много быстрее. |
|
 |
lki Участник со стажем
Вступление в Клуб: 18.03.2008
|
Пн Май 21, 2012 14:20   |
|
Полезность: Нет оценки
|
именно через вьюхи и решил делать, когда подсказали табличку со статусами и функцию перекомпиляции. еще раз спасибо |
|
 |
timochev Эксперт
Вступление в Клуб: 02.07.2007
|
|
 |
|