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

java.sql.SQLException:リスナーが次のエラーで接続を拒否しました:ORA-12519、TNS:適切なサービスハンドラが見つかりません

    マルチスレッドアプリケーションが開いている接続/セッションが多すぎます。したがって、リスナーはしばらくの間、新しい接続をドロップしてブロックしています。

    最初にDBリソースの使用状況を確認してください:

    SELECT * FROM v$resource_limit WHERE resource_name IN ('processes','sessions');
    

    プロセスまたはセッションのMAX_UTILIZATIONがLIMIT_VALUEに近づきすぎていないかどうかを確認してください。はいの場合は、次のいずれかを行う必要があります。

    1. DB接続プールを使用してConnectionを共有します スレッド間のオブジェクト。または、
    2. Oracleが同時に処理できるプロセス/セッションの数を増やします。

    実際には、接続プール(#1)は常に実行する必要があります。それ以外の場合、アプリケーションをスケールアップすることはできません。 Apache CommonsDBCP を確認してください 詳細については。 #2の場合、新しいSQL * PlusセッションをSYSTEMとして開き、以下を実行します。

    ALTER system SET processes=<n-as-per-number-of-threads> scope=spfile;
    

    バックエンドの同時実行性を高めるため。次に、データベースを再起動します。重要!



    1. serverSideを使用した後、Ajaxを使用したDataTableが正常に機能しない:true

    2. ネストされたクエリで一時テーブルを作成して使用する

    3. mysqlデータベースをOracleに変換します

    4. カスタムドメインpostgresの配列を作成する