2016-08-29 7 views
0

私は最近、私のOracle SQLクエリのセットを、パイプライン化されたデータを返すテーブル関数を持つパッケージに移動しました。

しかし、私は珍しいものを観察し始めました。 buffer_gets、fetches、cpu_time、execution_timeなどのV $ SQL統計には累積数が表示され始め、クエリの実行ごとに高くなっています。

これは通常の動作ですか?

答えて

2

これは正常な動作です。

多くの共有リソースが関わっています。プール内に数十のデータベース接続を持つアプリケーションがあり、すべて同じ仕事をしている場合、複数のユーザーが同時にそれらからフェッチするSQLを持つことができます(たとえば、Connection 1がABCの請求書を取得し、Connection 2 XYZの請求書を取得しています)。 V $ SQL(またはRAC環境のGV $ SQL)は、ほとんどの詳細の累積合計を表示します(USERS_EXECUTINGなどの値はすべてのセッションで現在の値になります)。

唯一リセットされるのは、通常、SQLが共有領域から使い果たされ、ある時間使用されておらず、リソースが別のSQLに必要な場合、またはデータベースシャットダウンのようなまれなイベントの場合です。