• ベストアンサー

【sqlplus】USER/PASS@HOSTでログインできない

SQLPLUSでローカルのOracle10gに接続を試みているのですが コマンドプロンプトで sqlplus USER/PASS では接続できるのですが、 sqlplus USER/PASS@HOST で接続できないんです。 環境は下記となっております。 Windows XP Oracle10g(10.1.0) ======【エラー内容】================================== C:\Documents and Settings\XXXX XXXX>sqlplus USER/PASS@orcl SQL*Plus: Release 10.1.0.2.0 - Production on 火 7月 3 01:56:57 2007 Copyright (c) 1982, 2004, Oracle. All rights reserved. ERROR: ORA-12523: TNS:listener could not find instance appropriate for the client connection ======【listener.ora】================================== # listener.ora Network Configuration File: C:\oracle\product\10.1.0\Db_1\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = C:\oracle\product\10.1.0\Db_1) (PROGRAM = extproc) ) (SID_DESC = (SID_NAME = ORCL) (ORACLE_HOME = C:\oracle\product\10.1.0\Db_1) (PROGRAM = oracle) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) ) ) ======【sqlnet.ora】================================== # sqlnet.ora Network Configuration File: C:\oracle\product\10.1.0\Db_1\network\admin\sqlnet.ora # Generated by Oracle configuration tools. SQLNET.AUTHENTICAION_SERVICES=NONE NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) ======【tnsnames.ora】================================== # tnsnames.ora Network Configuration File: C:\oracle\product\10.1.0\Db_1\network\admin\tnsnames.ora # Generated by Oracle configuration tools. ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = localhost) (PORT = 1521) ) (CONNECT_DATA = (SERVER = SHARED) (SERVICE_NAME = orcl) ) ) ======【tnsping】================================== Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = localhost) (PORT = 1521)) ( CONNECT_DATA = (SERVER = SHARED) (SERVICE_NAME = orcl))) OK (40 msec) ======【LSNRCTL>status】================================== Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROCipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))) Services Summary... Service "ORCL" has 1 instance(s). Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service... 実は当初PHPから接続しようと色々やっていたのですが、sqlplusで まともに接続できていないことが判明し、自分でも色々調べてみた のですが、どうしてもうまくいかず質問させていただいた次第です。 初心者ですが、どうかよろしくお願いいたします。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

サーバはどこにいますか?IPアドレスは? Ora8iのころ、ドメイン名修飾されてて結構はまりました。 10gはあまり触ってないのでハズしてたらスルーしてください。 #10g ってtnsping効くのかな? コマンドプロンプトで、tnsping (HOSTのIPアドレス)[Enter] だとOKなら、名前解決あたりだと思います。これもダメならFireWallでポート1521の閉塞状況を確認。 コマンドプロンプトで、 tnsping orcl[Enter]ではダメだけど、 tnsping orcl.world[Enter]でOKなら sqlplus USER/PASS@orcl.world みたいな記述にするか、または SQLNET.ORAにNAMES.DEFAULT_DOMAIN = world にするとか。

moritakos
質問者

お礼

書き込み誠にありがとうございます! 質問者のmoritakosです。 サーバはどこにいますか?というご質問の件ですが ローカルでの環境でして、おそらくですが127.0.0.1に いるのではないかと思っております。 何か別で調べる方法がありますでしょうか? 【tnsping orcl】を実行すると下記が表示されます。 Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = localhost) (PORT = 1521)) ( CONNECT_DATA = (SERVER = SHARED) (SERVICE_NAME = orcl))) OK (70 msec) ついでに 【tnsping localhost】を実行すると下記が表示されます。 Used EZCONNECT adapter to resolve the alias Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=localhost))(ADDRESS=(PROTOCOL=TCP)(HO ST=127.0.0.1)(PORT=1521))) OK (0 msec) ※素人目に、、通っているような感じではあります。  ちなみにtnsping orcl.worldではエラーとなりました。  また、SQLNET.ORAの設定もやってみたのですが、駄目  でした。。 また、FireWallを切ってやってみたのですがこちらも うまくいきませんでした。ローカルのサーバにはホストで 接続できないのでしょうか?、、 また気になる点ございましたらどうぞご教授よろしく お願いいたします。

その他の回答 (2)

回答No.3

ORA-12523のエラーはリスナーがインスタンスを見つけられないよう です。 tnsnames.oraには >(SERVICE_NAME = orcl) とありますが、これってSIDですよね? サービス名に書き換えるかSID指定に書き換えてみてはどうでしょう?

moritakos
質問者

お礼

書き込みありがとうございます!質問者のmoritakosです。 SIDのあたりが良くわかっていないのですが、サービス名 とはどこに設定している値のことを言うのでしょうか? また、SID指定とはどのようにすればよいのでしょうか?  ※ド素人で申し訳ありません。 自分でも色々と引き続き調べてみます。 …と書きながら色々やっていたのですが、oracleの NetManagerで新規ホストを作ってみたところやっとこ接続が 出来ました! 何が良くて何が悪かったのか… 後でDFあたり で確認してみます。色々とお世話になり本当にありがとう ございました!

回答No.2

WindowsXPの場合、可能性がもっとも高いのは・・ Firewallの設定が有効で、リスナーがリスニングポートを開けないパターンです。 一度、Firewallを止めて違いがあるかどうかを確認すると良いかと思います。 (それで正常になれば、Fiewallの設定をやりくりすればよいことになるので)

moritakos
質問者

お礼

書き込みありがとうございます! 質問者のmoritakosです。 別の方の書き込みにもお返事させていただいたのですが FireWallを切ってやってみたのですが、うまくゆきませんでした。 また気になる点ありましたらご教授のほどよろしくお願いいたします!

関連するQ&A