0

Oracle バージョン:10g ストアド プロシージャがあります。ストアド プロシージャが実行された回数を知りたいです。成功したか失敗したか?

4

2 に答える 2

3

デフォルトでは、Oracle はこの情報を保存しません。

AUDIT ステートメントを使用して、EXECUTE PROCEDURE を監査することにより、手続き呼び出しの監査を有効にすることができます。

audit execute procedure on my_stored_proc;

(どこmy_stored_procにパッケージなどがありますか)。自分のものであっても、それを AUDIT するための適切なシステム権限が必要です。これは、監査がオーバーヘッドであり、さらに監査証跡自体へのアクセスが厳密に制御されているためです (理由は理解できます)。

したがって、 AUDIT はおそらくあなたが探しているものではありません。その上、それはあなたが望む低レベルのものを提供しません(「成功したかどうか」)。これにより、インストルメンテーションを手順に組み込むオプションが残ります。適切なトレースを使用すると、デバッグがはるかに簡単になるため、これは一般的に良い考えです。

Oracle は、このための組み込みライブラリを提供していません (率直に言って驚くべきことですが、そのとおりです)。独自のロガーを構築するのは非常に簡単です。または、Tyler Muth の Logger プロジェクトをチェックしてください。 ここで見つけてください。(保証は暗示または意図されていません)

于 2013-03-08T17:09:23.283 に答える