- TOP
- 技術情報
- Oracle DB Tips
- ORA-03136: インバウンド接続がタイムアウトになりました。
KNOWLEDGE
コーソルの技術情報
KNOWLEDGE検索
コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。
コーソルの技術情報
KNOWLEDGE検索
コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。
Oracle DB Tips
専用サーバー接続構成で新規接続を試みた状況で、SQLNET.INBOUND_CONNECT_TIMEOUTの時間内にユーザー認証が完了せず、サーバープロセスにより新規接続がタイムアウトされた場合にORA-03136エラーが発生します。
アラートログに、以下のようなエラーが出力されます。
Fri Mar 03 03:03:03 2012 WARNING: inbound connection timed out (ORA-3136)
アラートログに、以下のようなエラーが出力されます。Oracle Database 11.1 以降では、Oracle Database 10.2以前ではsqlnet.logに出力されていた情報も、アラートログに出力されます。
Fri Mar 16 17:09:59 2012 *********************************************************************** Fatal NI connect error 12170. VERSION INFORMATION: TNS for Linux: Version 11.2.0.1.0 - Production Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production Time: 16-3月 -2012 17:09:59 Tracing not turned on. Tns error struct: ns main err code: 12535 TNS-12535: TNS: 操作はタイム・アウトしました。 ns secondary err code: 12606 nt main err code: 0 nt secondary err code: 0 nt OS err code: 0 Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.15.40)(PORT=11162)) WARNING: inbound connection timed out (ORA-3136)
ORA-03136は一般に以下の要因で発生します。
アラートログファイル、サーバーの sqlnet.log ファイル又はディスパッチャのトレースファイルを使用してどのクライアント・アドレスから接続が実施されたか確認できます。
クライアントの負荷状況を確認し、クライアントの負荷を低減させることを検討します。また、SQLNET.INBOUND_CONNECT_TIMEOUT をデフォルトの60秒より大きな値を設定します。
サーバーの負荷状況を確認し、サーバーの負荷を低減させることを検討します。また、SQLNET.INBOUND_CONNECT_TIMEOUT をデフォルトの60秒より大きな値を設定します。
クライアントとデータベース・サーバー間のネットワーク通信上の問題を解決します。
正しいパスワードの入力を行なうか、セッションを切断します。
Oracle Database 10.1 までは SQLNET.INBOUND_CONNECT_TIMEOUT のデフォルト値は 0 (無限)でしたが、Oracle Database 10.2 より 60 (単位 秒)に変更されました。
クライアントからの接続において認証処理がこの値以内に完了しない場合、その接続は終了します。
ORA-03136の発生を抑止するためにSQLNET.INBOUND_CONNECT_TIMEOUTを変更する場合は、設定値を0 (無限)に設定する、あるいは例えば 120 等、現在より大きい値に設定する方法が考えられます。
しかし、認証処理に60秒以上の時間を要する状況は正常な状態とは考えにくいため、Oracle Databaseサポート窓口への問合せも検討してください。
共有サーバー接続の場合にSQLNET.INBOUND_CONNECT_TIMEOUT によるタイムアウトが発生した場合は、ディスパッチャのトレースにTNS-12535 TNS-12606 が出力されます。
専用サーバ接続の場合、アラートログまたはサーバ側のSQLNET.LOGを確認し、エラーの発生したクライアントのアドレスを確認します。
Fri Mar 16 17:09:59 2012 *********************************************************************** Fatal NI connect error 12170. VERSION INFORMATION: TNS for Linux: Version 11.2.0.1.0 - Production Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production Time: 16-3月 -2012 17:09:59 Tracing not turned on. Tns error struct: ns main err code: 12535 TNS-12535: TNS: 操作はタイム・アウトしました。 ns secondary err code: 12606 nt main err code: 0 nt secondary err code: 0 nt OS err code: 0 Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.15.40)(PORT=11162))←★ WARNING: inbound connection timed out (ORA-3136)
共有サーバ接続の場合、ディスパッチャプロセスのトレースファイルを確認し、エラーの発生したクライアントのアドレスを確認します。
*** 2012-03-03 03:03:03.000 NS Primary Error: TNS-12535: TNS: 操作はタイム・アウトしました。 NS Secondary Error: TNS-12606: TNS: アプリケーション・タイムアウトが発生しました。 kmduicxd: 0C760020, kmduiflg: 9, circuit: 2C9A7CFC (circuit) dispatcher process id = (2F07E394, 1), holder = 2C9A7304 parent holder = (2C9A7304) serial # = 2 connection context = 0C760020 user session = (00000000), flag = (10130), queue = (4) buffers - status = (0, 0) Client Address = (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.15.40)(PORT=11162))←★
ORA-3136 ORA-03136 ORA-3135 ORA-03135 ORA-3113 ORA-3106 TNS-12535 インバウンド タイムアウト inbound connection timed out INBOUND_CONNECT_TIMEOUT