• ベストアンサー

DBサーバ接続エラーについて

オフィス移転に伴って開発環境のDBサーバも移転することになりました。 ただ、元のオフィスはそのままで本番環境もそのまま元のオフィスに残ったままです。 物理的に移動しただけなのですが、DB接続ができなくなってしまいました。 変更したのは、DBサーバのIPを変更しました。 上記に伴って、各クライアントのtsnames.oraのHOSTの設定も上記IPに変更しました。 しかし駄目でした。 ※接続しようとするとタイムアウトします。 単純にネットコンフィグレーションアシスタントでローカルネットサービス名構成を選択し、再構成し、テストするとタイムアウトしてしまいます。 しかし、DBサーバはファイルサーバにもなっていますが、サーバのIPにPINGは通っています。 現場の方が元オフィスにドメインコントローラがあり、そのドメインを経由して各PCがつながっている為、ルータかなにかの設定をしなければならないのではないかと言っていました。 しかし、私は納得ができないです。良く理解していない為ですが、単純に考えてIPは通っているのにDBサーバにつながらないということがあるのでしょうか? 上記DBサーバは新オフィスでしか使用しません。 開発環境用ですので単純につなげることができればそれでいいのですが、そんなに難しいことなのでしょうか?なにかの設定ミスだと思うのですが・・。 なかなか知識がなく説明足らずですが、なにかアドバイス頂ければと思います。 宜しくお願い致します。

  • Oracle
  • 回答数3
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 Oracleのバージョンと、OSとOSのバージョンを書いてくらはい。 > そんなに難しいことなのでしょうか?  記述の中に、リスナーの設定をしたと書かれていないのが気になるが、「リスナーが見つからない」ではなく「タイムアウト」という事なので、Oracleインスタンス側の問題である可能性も否定できないね。

toshi_200578
質問者

補足

説明不足で申し訳ありません。 環境:Oracle9i 9.2.0 OS :WinXpVersion2002 です。 今接続できました。しかし、原因がいまいちよくわかっていません。 昨日はtsnames.oraのHOSTの設定を変更したことぐらいで今日はリスナーの再起動をしただけです。 昨日のエラーはタイムアウトしかでませんでしたが、 今日は「リスナーがありません」が1度でました。 またまた情報不足ですが、可能性のある原因があればアドバイスお願い致します。

その他の回答 (2)

  • entree
  • ベストアンサー率55% (405/735)
回答No.3

DBサーバのIPアドレスを変更されたのであれば、リスナーの再構成を行って下さい。OEMを構成されていない場合、大抵の場合はそれで接続ができるようになります。 なお、リスナーの設定は lisner.ora ファイルを編集することで可能です。(GUI でも可能だと思います) 詳細は KROWN:17396 に記述がありますが、サポート契約を結ばれていない場合は参照できません。

参考URL:
http://support.orace.co.jp/
  • geso775
  • ベストアンサー率29% (15/51)
回答No.2

あくまで想定ですが・・ >現場の方が元オフィスにドメインコントローラがあり、 >そのドメインを経由>して各PCがつながっている為、 >ルータかなにかの設定をしなければならない>のではないかと >言っていました。 クライアントのtnsname.oraで設定して、サーバのlisnerに対し接続要求 するので、その場合はwindowsのドメインは関係ないと思いますよ。 portは1521,1526あたりが使われます。 >単純にネットコンフィグレーションアシスタントでローカルネット >サービス名構成を選択し、再構成し、テストするとタイムアウトしてしまいます。 この状態では、正しく設定できていないか、#1さんの言うように サーバのリスナーが待機していないか。 下記の状況をみると可能性は大だとおもいます。 >昨日のエラーはタイムアウトしかでませんでしたが、 >今日は「リスナーがありません」が1度でました。 pingが通るのに、DBに繋がらない場合はクライアント、サーバの 設定が疑わしいです。 tnsping コマンドで確認しましょう。

関連するQ&A

  • DBサーバの接続エラー

    Oracle9i 9.2.0 Oracle環境をDBサーバに構築しました。 開発環境ですので詳細はよくわかりませんが、表領域を作成し、 データファイルの設定変更後、EXPDAT.DMPファイルをインポートしました。 各クライアントからNet Configuration Assistantを開き 1.ローカルネットサービス名構成 2.追加 3.サービス名入力 4.TCP 5.ホスト入力 6.テストを実行 結果↓↓↓↓↓↓↓↓↓↓↓↓ 「接続中...ORA-12535: TNS:操作はタイムアウトしました。  テストが失敗しました。  指定した情報が間違ってる可能性があります。....」 過去(1ヶ月)に上記作業をPC3台ほど行ったことがありますが、 どれも正常に動作していました。 ちなみにホストにはPINGは通っています。 実際には単純なことかもしれませんが、アドバイスお願いします。

  • クライアントとサーバーの接続確認方法について

    VB2005とSQLとSERVER2005の接続について 以下のような環境で動作するクライアントのプログラムを開発しています。 「DBサーバー」 WindowsXPSP3 DB:SQL-SERVER2005 「クライアント」 WindowsXPSP3 開発:VB2005 上記、クライアントでたまに、スタンドアローンで動作させる必要があるため、 スタンドアローンの場合、サーバーへはアクセスしないようにしたいのですが クライアントとサーバーが接続しているか確認したいのですが VB2005でどうすればいいでしょうか? 現状ですと、スタンダローンで動作していても、サーバーにアクセスしにいき タイムアウト(?)するまで、待っている状態でいます。 待つことをやめたいので、スタンドアローンで動作している場合、はアクセスしに 行かないようにしたいのですが。 どうか御教授ください。よろしくお願いします。

  • DB接続ができなくなって困っています!

    いつも参考にさせていただいております。 今回、自宅のPCに構築した開発環境のDBに、急に接続できなくなりました。 ==================================== 【開発環境】※ASP環境 OS :windows 8 IIS:8.0 DB :(1)MySQL 5.5.32   ※「mysql-connector-odbc-5.2.5」もインストール済。  (2)Access2013 ==================================== 先日まで、問題なくDBに接続できていましたが、寝ぼけて何かの設定を変えてしまいました。 ※恥ずかしながら、気づいたら設定変更後で何の設定を変えたのか不明です。。。 すると、今まで正常に接続できていたMySQLとAccessが、以下のエラーで接続できなくなりました。 ==================================== 【MySQL接続】 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。 【Access接続】 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] 指定された DSN には、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています ==================================== なお、接続箇所のロジックは以下となります。 ==================================== 【MySQL接続】 Set oCn = Server.CreateObject("ADODB.Connection") oCn.Open UDL_FILE(※1), "", "" ※1 上記「UDL_FILE」は、以下の内容を設定しているUDLファイルを読み込んでいます。 ------------------------ [oledb] ; Everything after this line is an OLE DB initstring PROVIDER=MSDASQL;DRIVER={MySQL ODBC 5.2 Unicode Driver};SERVER=localhost;USER=hogeU;PASSWORD=hogeP;DATABASE=hoge; ------------------------ 【Access接続】 Set poCnMdb = Server.CreateObject("ADODB.Connection") poCnMdb.Open DNS(※2), "", "" ※2 上記「DNS」は、ODBCデータソース アドミニストレーター(32bit版)で登録したシステムDSNです。 ------------------------ ドライバー:Microsoft Access Driver(*.mdb) ------------------------ ==================================== MySQLやODBCドライバーの再インストールを試みましたが、上記エラーが解消されません。 自業自得なのは重々承知しておりますが、復旧できなくて大変困っています。 お忙しいところ申し訳ありませんが、復旧方法のご教授をお願いいたします。 以上です。

  • ADODBでサーバー・DBに接続するとは・・・

    初めまして、専門学校で技術の勉強をしている女子です。 ACCESSを使ってVBAでの課題をしている途中で、色々疑問が湧き、調べても解決できなくて、質問させてください(課題とは関係ないので課題を作りたいというわけではないですよ^^;)。 アクセスでカレントプロジェクトをADODBで接続して自データ(テーブル)を持ってくるのは、書籍などでもありますし、規定のコードを書いて実現できるのですが、よく聞く三層クライアントサーバーシステム(基本情報の勉強で知りました)では   【クライアント → サーバー → DB】 のようになっていると思います。例えばSQLSeverへの接続をするには   Set cn = New ADODB.Connection  CN.Provider = "SQLOLEDB"  CN.ConnectionString = "Data Source=111.199.---.+++;" & '←ここなんですが                "Initial Catalog=***;" &                "User ID=***" &                "Password=***" のように接続するようなのですが、どう解釈すればいいんだろう?と思っています。 ・疑問:これだとクライアントからSQLServerへ接続するIPアドレスしか指定していないので、サーバーOSに辿り着かないのでは・・?それともIISが自動でしてくれるのでしょうか? ・疑問:ODBCドライバという接続のしかたも調べましたが、やっぱり"Data Source="の指定を変えるだけで疑問はそのまま残ってしまいます。 自分なりに考えた事を書きたいと思います。 以下のことは私が勘違いや思い込みをしているのではないかと思っています。 なので正してくれる回答があればうれしいです。(ずうずうしくてスミマセン・・) ・何層だろうとサーバOSが、指定されているIPとDBを自動で判断し、このコードで接続できる。サーバOSの設定はDBAに詳しくなろう。 ・ではなくて、やっぱりサーバOSへの接続を記述して確立してから、改めてDBへの接続を記述しないとだめ。 ・VBAの記述はこれでよし、でもSQLSeverの設定でクライアントの許可をすればいいんだよ。 ・同じくVBAはこれでよい、でもサーバOSの設定でクライアントの許可を・・。 など考えています。何か根本的に理解していないことがありそうで、、また色々調べて本やネットをたくさん見ているために情報が整理できずに、間違った考えになっているのでは。と苦しんでいます。 実は先生や周りの友人に聞いても「たぶんそれでいいんじゃない?」とあやふやなんです(ーー;) そして私自身もIISやサーバOS、DBサーバの理解が足りていない事は実感しています。 現役でコードを書いている方や設定をされているかたにお話しを聞きたくて質問してみました。 面倒でなければ簡単なコードを記述して頂けるとありがたいです! ちなみに今はマイクロソフト群で勉強していますが、これをクリアしたらこんどはオラクルやMYSQLなどへの接続もしてみたいと思っています(学校に環境があるので^^)。 VISUAL STUDIOを使って(コードはVBですが)DB接続してみても、GUIで簡単にできすぎて、余計に理解ができませんでした。 長くなりましてすみませんでした。 なにかアドバイスや参考になることでも構いませんので、よろしくお願いします。 どんなに長い回答でも必ず読ませて頂きます!むしろ歓迎です!

  • PCとDBを更新したら、エラーが発生するように。。

    約5年ほど前に開発されたDBを使用したシステムがあるのですが、サーバPCが故障し、PCとDBを更新しました。それから「タイムアウト」や「デッドロックエラー」が発生するようになりました。 【更新前】 1.サーバ  ・OS:Windows2000Server  ・DB:MSDE2000 SP3 2.クライアント  ・OS:Windows XP SP3(導入当初は、Windows2000)  ・アプリケーション:VC++6.0にて開発  ・7クライアント  ・ODBCにて接続 【更新後】 1.サーバ  ・OS:Windows Server 2008  ・DB:SQL Server 2008 Express Edition 2.クライアント  ・OS:Windows XP SP3(導入当初は、Windows2000)  ・アプリケーション:VC++6.0にて開発  ・7クライアント  ・ODBCにて接続  ※クライアント側は何も変わっていません。 発生するエラーは、以下の2つです。 (1)タイムアウトしました。 (2)トランザクション(プロセスID○○)が、ロック 個のリソースで他のプロセスとデッドロックして、このトランザクションの対象となりました。トランザクションを再実行して下さい。 サーバPCが故障した際、蓄積されていたデータをかなり削除した為、早くなる事はあっても、遅くなる?とは夢にも思いませんでした。当然、更新後のPCも5年前よりかなり早くなっているハズですし...。 営業からは、早くなんとかして欲しいと言われますが、未だに解決の糸口が見付かりません。 どなたか助言をお願い致します。

  • 誰がDBに接続しているのか知りたい

    こんにちは、いつも参考にさせて頂いております。 SQL Server2008でDBを管理しているのですが、 かゆいところに手が届かない状況です。どうかお助けください。 [状況] 今管理しているDBは複数個あり、各DBに接続している人は複数います。 (といっても2ケタにも行きませんが。) そんな中、テーブルのプロパティなどを変更したいときに、 誰かが接続していると排他エラーが出て変更できないことがあります。 [疑問点] こういう時に、誰が接続しているのか知りたいのですが、 どうすればよいのでしょうか? 監視ツールなどが必要でしょうか。 もしくはシステムテーブルなどにその情報があるのでしょうか? どうかご教授よろしくお願いいたします。 [環境] SQL Server2008 Windows Server2008

  • 【大至急】DB接続ができなくなって困っています!

    いつも参考にさせていただいております。 今回、自宅のPCに構築した開発環境のDBに、急に接続できなくなりました。 ==================================== 【開発環境】※ASP環境 OS :windows 8 IIS:8.0 DB :(1)MySQL 5.5.32   ※「mysql-connector-odbc-5.2.5」もインストール済。  (2)Access2013 ==================================== 先日まで、問題なくDBに接続できていましたが、寝ぼけて何かの設定を変えてしまいました。 ※恥ずかしながら、気づいたら設定変更後で何の設定を変えたのか不明です。。。 すると、今まで正常に接続できていたMySQLとAccessが、以下のエラーで接続できなくなりました。 ==================================== 【MySQL接続】 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。 【Access接続】 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] 指定された DSN には、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています ==================================== なお、接続箇所のロジックは以下となります。 ==================================== 【MySQL接続】 Set oCn = Server.CreateObject("ADODB.Connection") oCn.Open UDL_FILE(※1), "", "" ※1 上記「UDL_FILE」は、以下の内容を設定しているUDLファイルを読み込んでいます。 ------------------------ [oledb] ; Everything after this line is an OLE DB initstring PROVIDER=MSDASQL;DRIVER={MySQL ODBC 5.2 Unicode Driver};SERVER=localhost;USER=hogeU;PASSWORD=hogeP;DATABASE=hoge; ------------------------ 【Access接続】 Set poCnMdb = Server.CreateObject("ADODB.Connection") poCnMdb.Open DNS(※2), "", "" ※2 上記「DNS」は、ODBCデータソース アドミニストレーター(32bit版)で登録したシステムDSNです。 ------------------------ ドライバー:Microsoft Access Driver(*.mdb) ------------------------ ==================================== MySQLやODBCドライバーの再インストールを試みましたが、上記エラーが解消されません。 自業自得なのは重々承知しておりますが、復旧できなくて大変困っています。 お忙しいところ申し訳ありませんが、復旧方法のご教授をお願いいたします。 以上です。

  • 困ってます!ドメインとサーバーが結びつきません!!

    お名前.comで取得したドメイン(日本語)を xreaサーバーで使いたいのですが、 ドメインもサーバーも取得は初めてなので何が何がわかりません。 とりあえず、設定してみたのですが(たぶんあってるはず・・・) 最後に、こんな画面が出てきて何度設定しても設定できません。 2日ほど待ってみたんですが、、 「www.www.aaaaaaaaaaa.com」のIPアドレス「123.456.7.890」は当サーバーのIPアドレス「125.53.24.141」と一致しません。まずは、ネームサーバー設定を行ってください。 VALUE-DOMAINをお使いの場合は、 「DNSレコード/URL転送の変更」から www.aaaaaaaaaaa.comが123.456789.789 01 に向くように設定してください。 ▼設定例: * 123.456789.789 A 01 ○注意事項 ・新しく取得されたドメインが反映されるまでには2-48時間程度掛かります。 ・DNS設定の変更が反映されるまでには2-3時間掛かる場合があります。」 やったことは、「他社で取得されたドメインの新規管理」からドメイン登録。 無料サーバーの開設(バリュードメインでも一つ取りました。) DNSの設定。 「サーバーアカウントの登録・管理・購入」からのサーバーの「ウェブ」の変更 この流れを何度か試しましたが、 お名前.comでとったドメインもバリュードメインでとったドメインでも 上記のようなエラーになります。 どうすればいいでしょうか?? こういうことはよく分からないので、お手数ですがよろしくお願いします。

  • HUB接続されたサーバへのデータ参照に関して

    HUB接続されたサーバへのデータ参照に関して サーバに関してほとんど素人ですが教えてください 複数サーバをHUB接続してプライベートIPを割り当てて データを参照出来るようにしています たとえばAサーバからBサーバのCGIやPHPを呼び出したい時には http://192.168.1.XXX/ などで呼び出せば良いと教わったのですが 呼び出そうと思っても呼び出せずタイムアウトしてしまいます 別途DNSなどで設定が必要なのでしょうか? 開発依頼先が納期を遅らせた後で逃げてしまったので教えてもらう先も 無く困っています どうか教えてください

  • CGIでサーバタイムアウトを避ける方法

    cgiアプリで、かなり時間のかかるDB登録処理を作成しています。 で、サーバのタイムアウトになりアプリがIIS Serverにkillされてしまうのですが そのkillされるタイミングを知る方法はあるでしょうか? といいますのはkillされてしまうとフラグクリアなどの後処理ができず、 他のセッションからも処理ができなくなってしまうのです。 タイマー監視ではなく、その時のサーバのステータスなどがわかるといいのですが。 因みにサーバのタイムアウトの時間を変更することはできないんです。 または、それを回避させるために、 処理の途中でhttpレスポンスなどを発行して処理を継続させる方法など あるのでしょうか? 今はタイムアウト時間前に処理が終了できるよう かなり処理件数を制限していまして、   使いづらい といわれてします。 環境  windows server 2003  IIS で、 アプリはc言語で開発しています。