2017-01-19 30 views
0

В Oracle DB в некоторых случаях объекты (представления/синонимы) получают «Invalid» (Out of compile), который добавляет мне больше работы часто поддерживать эти проблемы.Сценарий для проверки на Недействительные объекты в Oracle и скрипт сборки для компиляции недопустимых объектов

Я планирую включить некоторые утверждения в начальный и конец моего сценария в каждое мое развертывание. 1. Чтобы проверить все недопустимые объекты до того, как мои изменения будут развернуты. 2. После того, как изменения будут развернуты, снова проверьте все недопустимые объекты и автоматически создайте сценарий, чтобы исправить ошибки INVALID & и выполнить их.

Было бы очень полезно, если кто-нибудь может мне помочь в создании сценария оракула, который охватывает мои вышеупомянутые моменты?

ПРИМЕЧАНИЕ: У меня нет доступа к DBA ADMIN, я использую инструмент развертывания для развертывания сценариев

Большое спасибо заранее. Sitesh

+0

Когда вы говорите автоматически исправить - вы имеете в виду перекомпиляцию? - Пожалуйста, проверьте мой ответ. –

ответ

1

Этот сценарий будет найти недействительные объекты,

select OWNER, OBJECT_NAME, OBJECT_TYPE, STATUS 
from dba_objects 
where status != 'VALID' 
    and OWNER in ('SCHEMA_1','SCHEMA_2','SCHEMA_3') 
order by owner, object_type; 

Используйте следующий сценарий перекомпилировать все недействительные объекты в данной схеме.

EXEC DBMS_UTILITY.compile_schema('SCHEMA_1', compile_all => false);