DBAtlas · データベース運用アトラス

ORA-12537: TNS:connection closed(接続がクローズされた)

Oracle

意味

通信チャネルが予期せずクローズされたため、クライアントとサーバー間の TNS 接続が終了した。接続の確立中または確立直後にセッションが切断される。

原因

リスナーはクライアントをサーバープロセスに引き渡したが、プロセスを作成できなかったか即座に終了した: インスタンスのクラッシュ、PROCESSES の上限到達、OS のリソース不足、ファイアウォール/中間層による接続切断、または sqlnet.ora の TCP.VALIDNODE_CHECKING/TCP.INVITED_NODES ルールによるクライアントの拒否。クライアントとサーバー間のアイドル状態のファイアウォールが接続を切断することもある。

対処方法

listener.log と sqlnet.log を調べる。PROCESSES/SESSIONS の上限を確認する: SELECT * FROM v$resource_limit WHERE resource_name IN ('processes','sessions'); サーバー側 sqlnet.ora の TCP.INVITED_NODES/TCP.EXCLUDED_NODES リストがクライアント IP を拒否していないことを確認する (ログオンバージョンの不一致はこのエラーではなく ORA-28040 となる)。ファイアウォールのアイドルタイムアウトを延長するか、SQLNET.EXPIRE_TIME で keepalive を送信する。alert.log でインスタンスクラッシュの記録を確認する。

DBAtlas で開く →

同じデータベースの他の項目