- ベストアンサー
oracleへの外部IPからのアクセスについて
- JDBCを使用してoracleへの外部IPからのアクセスができませんでした。
- デフォルトの設定では他のPCからの接続ができないようです。
- 設定方法についての情報が見つけられませんでした。
- みんなの回答 (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豆知識のようなものなので覚えておくと良いだろう。
お礼
回答ありがとうございます。 ファイアーウォールまったく意識してませんでした。 週明け会社にいったら早速試してみます。