年に数回、私のチームは何らかの理由で新しいOracleパッケージを作成します。このパッケージは、パッケージ(パッケージが実行されるユーザー/ロール)に既に付与されているテーブルのみを参照します。Oracleパッケージからプログラムでテーブル参照を抽出する方法はありますか?
場合によってはそうではありません。パッケージがチェックインされ、コンパイルに失敗し、テーブル名の近くに行番号があるわかりにくいエラーメッセージが表示されます。
この時点で、(政治的な)承認プロセスが実行され、付与が与えられ、パッケージをチェックして、新しいテーブル名で失敗するということは問題です。
プログラムですべての参照のリストを取得する方法はありますか?もしそうならば、dba_tab_privsと照合して、事前に助成金が必要かどうかを確認したり、助成金スクリプトを生成して、実際にチームを助けることができます(特に数ヶ月後、私たちは再び申し訳ありません。
Dang彼らは私にdba_dependenciesの権限を与えません! –
@Gary_W - 前提条件に応じて、 'all_dependencies'または' user_dependences'を使うことができます。しかし、 'dba_tab_privs'を使って、必要な権限を自動化することを考えているのであれば、' dba_dependencies'の特権を求めることができると思います。 –
甘い! ALL_DEPENDENCIESは機能します。これは私のための新しいものです。ありがとうございました! –