プロが教えるわが家の防犯対策術!

こんにちわ。
会社の研修でJAVAの勉強をしています。
今回、JDBCの勉強のために自分のPCに「oracle10g Express Edition」を落としました。
JdbcDriver等の設定を終えた上で自分のPC(localhst)でDBへの接続はできたのですが、他のPC(社内ネットワークでつながってます)でつなごうとするとタイムアウトで接続ができません。
設定はデフォルトのまま使用しています。
MySqlを使用した時に外部IPから接続するための設定が必要だったのでoracleでも設定しなければいけないのかと思いネットで調べてみたのですが、それらしい情報を見つけることができませんでした。
宜しければ、設定法の関してのアドバイスをお願いいたします。

A 回答 (1件)

 ちょっと今手元にOracle10gXEの環境が用意できなかったので推測でしかないが、接続拒否ではなくタイムアウトという事なので、ひょっとしてそれはOracleじゃなくてファイアーウォールの設定によるのではないか。

これまた話からの推測だが「自分のPC」というのはWindowsだろうて。Oracle10gXEのWindows版は特に外からのIP接続を弾く初期設定にはなっていないので、Windows ファイアーウォールでtcp/1521番を例外にしてみる、ファイアーウォールを無効にしてみるなどで接続できるのであれば、それはファイアーウォールが邪魔をしていると言う事だ。

 ところで、Oracle10gXEをインストールすると2つのサービスが実行されているはずだ。oracle.exeとtnslistener.exeというもので、このうちoracle.exeがもちろんDBMSで、tnslistener.exeはTCP/IPなどでネットワーク接続を待ち受けてクライアントからの要求をoracle.exeに渡す役割を担っている。なので、「ローカル(sqlplus.exe)ではつながるのに別のパソコンから(sqlplus.exe)ではつながらない」と言った時、ネットワークの構成とは別にtnslistener.exeが起動していなかったり、tnslistener.exeの設定がおかしかったりする場合もある。この時、ローカルでつながる理由は
C:\>sqlplus system/manager
などとサービス名(一般的にサービス識別子)を指定しなかった場合、レジストリ内の値を引っ張ってきて共有メモリ経由でoracle.exeとやりとりをするからで、その場合はローカルでもlocalhost経由だと接続できない。今回の話はローカルのJDBCドライバーから接続できているのでこのパターンではないと推定されるが、Oracle豆知識のようなものなので覚えておくと良いだろう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ファイアーウォールまったく意識してませんでした。
週明け会社にいったら早速試してみます。

お礼日時:2010/01/31 01:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す