This discussion is archived
3 Replies Latest reply: Jan 26, 2012 2:01 AM by 913211 RSS

ODP.NETでの接続障害

913211 Newbie
Currently Being Moderated
OS:Windows Xp
開発ツール VoisualStadio 2008 (C#)
ODP.NET 11.1.0.7.20

上記の条件でプログラムを開発し、接続の出来たのですが

ある日突然「ORA-03136: インバウンド接続がタイムアウトになりました 」のメッセージが出て
Oracle接続できなくなりました。

Oracle接続のコーディング(抜粋しています)としては
using System;
using System.Collections.Generic;
using System.Text;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
public bool OraConnect(string oraUser, string oraPass, string OraService, string OraServer)
{
string strSQL = "";
OracleConnection oCon = new OracleConnection();
oCon.ConnectionString = null;
strSQL = "User Id=hoge;password=hogehoge;" +
" Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = testserver)(PORT = 1521))" +
" (CONNECT_DATA = (SERVICE_NAME = orcl.world)))";
try
{
oCon.ConnectionString = strSQL;
oCon.Open(); ←ここでエラー
return true;
}
catch (Exception ex)
{
strOraMsg = ""; strOraMsg = ex.Message;
        --- エラーメッセージをテキスト出力---
oCon.Close(); oCon.Dispose();
return false;
}
}

エラーになっている端末でSQLPlusを使用しての接続は正常に接続し、
接続時のユーザー間違えて実行すると、「ユーザー/パスワードが違う」のエラーがでます。

開発したEXEはClickOnceでの配布しています。

分かっているの範囲で記載しましたが、ここまでで手詰まりになりました。
申し訳ありませんがご教授の程お願いします。
  • 1. Re: ODP.NETでの接続障害
    hamadeguchi Newbie
    Currently Being Moderated
    別のプロセスで接続を行っていたりしませんか?
    古いexeとか常駐とか
    http://suzumenuko.blog100.fc2.com/blog-entry-90.html

    あとはサーバ負荷が高くなっているとか
    アラートログに-600番台などの不審なエラーが出てないか確認してください
    http://www.dba-oracle.com/sf_ora_03136_inbound_connection_timed_out.htm
  • 2. Re: ODP.NETでの接続障害
    913211 Newbie
    Currently Being Moderated
    -----------------------------------------------------------------------------------------------------------------
    別のプロセスで接続を行っていたりしませんか?
    古いexeとか常駐とか
    http://suzumenuko.blog100.fc2.com/blog-entry-90.html

    あとはサーバ負荷が高くなっているとか
    アラートログに-600番台などの不審なエラーが出てないか確認してください
    http://www.dba-oracle.com/sf_ora_03136_inbound_connection_timed_out.htm
    ----------------------------------------------------------------------------------------------------------------


    hamadeguchi さん

    情報ありがとうございます。

    別のプロセスで接続を行っていたりしませんか?
    古いexeとか常駐とか
    これに関しては、常駐はありませんでした。
    又、EXEの作成・更新日付およびバージョンを確認したのですが、最新のEXEでした。
    あとはサーバ負荷が高くなっているとか
    アラートログに-600番台などの不審なエラーが出てないか確認してください
    現在確認させて頂いています。


    もう少し詳しく記載すると

    事務所と工場があり
    DBサーバーは事務所にあります。
    工場が別の所にあり
    イントラネットを使用しDBサーバーに接続しています。

    接続できなくなったのは工場の全ての端末で発生しました。
    事務所で同じEXEを使用して実行すると、正常に接続できます。

    工場の端末にリモート接続し、
    SQLPlusでの接続
    TNSPINGの実行
    これは正常に接続(実行)できました。

    VS2008(C#)+ODP.NETで実行するとエラー(接続出来ない)状況です。
  • 3. Re: ODP.NETでの接続障害
    913211 Newbie
    Currently Being Moderated
    回避策をサポートセンターより頂きました。

    サーバー側のsqlnet.oraの設定で
    SQLNET.INBOUND_CONNECT_TIMEOUT=0
    を設定すると接続する様になりました。

    どうもイントラネットが想定している速度より遅いらしく
    60秒(省略値)内で解決出来なかったみたいです。

    お騒がせ致しました。

    Edited by: user8954309 on 2012/01/26 2:01

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points