sql >> データベース >  >> RDS >> Oracle

JDBCによるOracleの非アクティブなセッション

    正確には、何が問題なのですか?

    通常、中間層のアプリケーションサーバーは接続プールを作成します。コードが接続を要求すると、データベースへの新しい接続を生成するオーバーヘッドを通過するのではなく、プールからすでに開いている接続を取得します。コードが接続を閉じると、接続は物理的に接続を閉じるオーバーヘッドを通過するのではなく、プールに戻されます。これは、STATUSが存在するデータベースへの接続が適切な数になることを意味します。 V$SESSIONで 任意の時点で「非アクティブ」です。それは完全に正常です。

    負荷がかかっている場合でも、中間層からのほとんどのデータベース接続はほとんどの場合「非アクティブ」です。 「INACTIVE」のステータスは、クエリを実行した瞬間に、セッションがSQLステートメントを実行していなかったことを意味します。ほとんどの接続は、接続プールに座ってJavaセッションが開くのを待つか、Javaセッションがデータを処理するのを待つか、ネットワークがマシン間でデータを転送するのを待つことにほとんどの時間を費やします。

    実際にエラーが発生していますか(つまり、ORA-00020:プロセスの最大数を超えています)?または、V$SESSIONのエントリ数に混乱しているだけですか。 ?




    1. 致命的なエラー:[]演算子は文字列ではサポートされていません

    2. RMANリストバックアップコマンド

    3. JDBCが正しいステートメントでMySQLSyntaxError例外を返す

    4. ネストされたループクエリを親配列の結果に結合します-pg-promise