2017-01-19 21 views
0

Oracle DBでは、オブジェクト(ビュー/シノニム)が「無効」(コンパイル中)になり、これらの問題を頻繁に維持する。無効なオブジェクトをコンパイルするためにOracleでオブジェクトが無効であり、無効なオブジェクトをコンパイルするスクリプトをビルドする

スクリプトの最初と最後に、すべての展開でいくつかのステートメントを含める予定です 1.変更が展開される前に無効なオブジェクトをすべてチェックするには。 2.変更が適用されたら、無効なオブジェクトをすべてもう一度チェックし、INVALIDビュー&の同義語を修正して実行するスクリプトを自動的に作成します。

誰かが私の上記のポイントをカバーするOracleスクリプトを構築するのを助けることができたら、私には大きな助けになるでしょうか?

注:私は、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); 
関連する問題