0

先週、DBパスワードを更新してから、DBバウンス後に接続が満杯になりました。 20以上のスキーマがあり、1つのスキーマへの接続がいっぱいになります。セッションには何も現れません。以前のパスワードと接続でデータベースにアクセスしている古いアプリがある可能性があります。不正なプロセスOracleデータベースの接続の埋込み

DBサーバーに接続しようとしているプロセスの数と失敗したプロセスの数を特定する方法。

私たちのDBサーバー接続を跳ね返すたびに、1時間後には誰も新しい接続を確立できません。

+0

私たちはここでどのようなつながりを持っていますか?専用?接続プーリング? – APC

答えて

0

BTW:私たちの会社では、セッションの接続と切断の情報を保持するLOGONおよびLOGOFFトリガーがあります。

は、あなたが見ているもの、それはSQL文解析する必要があるときに、Oracleによって作成された再帰的なセッションがあることを十分に可能である[通常はパフォーマンス上の問題を、しかし、パラメータを大きくする必要があるかもしれないプロセス]:...

たとえば1の場合、dynamic_samplingの値が大きいほど、より再帰的なSQLが生成されます。

例2:このアプリケーションでは、過度のハード解析の状況がありました。ハード解析では、関連する再帰SQLを解析するための新しいプロセスが必要になるため、プロセス数が増加します(ベンダーアプリケーションであるため、この場合はプロセスパラメータが増加します)。あなたの問題はバウンスに関連しているので、アプリの起動時に多くの解析が必要になる可能性があります。

例3: 「セッションが漏れ、」根本原因分析: 問題の概要:我々はそれらを作成し、なぜされているアプリケーションのどの部分を明確に理解することなく、多くのセッションが作成される期間を観察しました。
RCAアプローチ:DBは非アクティブなセッションを永続化しないので、v $ sessionを手動でスナップショットすることによって状況を監視しました。 分析:
複数のセッションが同じプロセスを持つパターンに気づいた#。 Oracleドキュメントのとおり、これらのセッションは、(解析レベルで)クエリを満たすために再帰的なSQLを実行する必要がある、元のプロセスの下でOracleによって作成された再帰セッションです。彼らはそれらを作成したプロセスが完了して終了すると、それらは消えます。 プロセスが長時間実行されている場合は、処理が完了するまで非アクティブのままになります。 これらの再帰セッションはセッション制限にはカウントされず、非アクティブセッションはアイドル待機イベントにあり、リソースを消費しません。 再帰的セッションは、オプティマイザの統計情報がないオプティマイザ(GTTの場合)とoptimizer_dynamic_samplingの初期化パラメータ設定4が必要な再帰的なSQLの結果です。 昨日われわれが見た1時間に50,000セッションは、数千のselect文が実行されている可能性が高いです(私は個人的にクエリごとに20回の再帰セッションをカウントしましたが、この数は変わる可能性があります)。 影響があまりないことがADDMレポートに示されました。 検索4:セッション接続および切断 影響は平均で0.3セッションです。[現在のインスタンス上の]総アクティビティの6.27%です。 Average Active Sessionsは、データベース負荷の指標です(CPUカウントに近づく値は高いとみなされます)。インスタンスは最大32のアクティブなセッションを処理できるため、影響は容量の約1/100です。

関連する問題