Oracle パッケージのコンパイル
パッケージボディをcreate or replace package bodyで入れ替えたりしていると 自動的にコンパイルしてくれてprocedure/functionが使用できていたものが、急にエラーで使えなかったりすることがあった。 この原因を突き止めたいのだが、とりあえず手動でコンパイルすると使えるようになる。
-- PACKAGE/PACKAGE BODY両方 SQL> ALTER PACKAGE パッケージ名 COMPILE; -- PACKAGEのみ SQL> ALTER PACKAGE パッケージ名 COMPILE PACKAGE; -- PACKAGE BODYのみ SQL> ALTER PACKAGE パッケージ名 COMPILE BODY;
参考は以下。