Wszystkie potrzebne informacje znajdują się np. w tablicy
DBA_OBJECTS.
Omówię to na przykładzie pakietów.
Najpierw wyciągamy listę pakietów nie skompilowanych:
select owner, object_name from dba_objects
where object_type = 'PACKAGE BODY' and status = 'INVALID'
Dla każdego zwróconego rekordu wykonujemy
alter package owner.object_name compile body
gdzie zamiast owner i object_name podajemy wartość z odpowiedniej kolumny owner lub object_name z zapytania wyżej.
Możemy również rozszerzyć pierwsze zapytanie za pomocą złączeń string-ów, tak by oprócz wartości owner i object_name zwróciło potrzebne nam frazy, zapytanie mogłoby więc wyglądać następująco:
select 'alter package ' || owner || '.' || object_name || ' compile body;'
from dba_objects where object_type = 'PACKAGE BODY' and status = 'INVALID'
Zwrócony wynik powinniśmy wkleić do konsoli I wykonać.
Brak komentarzy:
Prześlij komentarz