• ベストアンサー

【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

  • データベースに接続できない

    データベースに接続できません!! 「tnsnames.ora」、「listener.ora」、「sqlnet.ora」の内容は以下になっております。いろいろ調べてみて、これでいいとは思うのですが、「ORA-12545 ターゲット・ホストまたはオブジェクトが見つかりません。」というエラーが出てしまい接続できません。 DBはOracle10g Release1を使用しています。 【tnsnames.oraの内容】 ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) 【listener.oraの内容】 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = G:\oracle\product\10.1.0\Db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_NAME = orcl) (ORACLE_HOME = G:\oracle\product\10.1.0\Db_1) (SID_NAME = orcl) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) )

  • ORA-12514が出た時の対処法と原因

    今回で2度目なのですが、ORA-12514のエラーがでる様になりました。 前回は仕方なくフォルダを削除して再インストールしたら直りましたが、 PCで作業している内に再び同じ現象になりましたので、 原因と再インストール以外の対処法があればと思い書き込みさせて頂きました。 環境はWindows2000でOracle10gです。 Oracleを入れたPCと作業しているPCは同じPCです。 前回と今回の違いは、 前回は「XYZ」の作成をしていない。 サービスのOracleOraDb10g_home1TNSLitenerが開始できなかった。 (一応コマンド入力でもダメでした) (リスナーの起動を試すみたいなのがインターネットで検索してる時に書いてあったので参考にしました) の2点です。 現在は「XYZ」が作成されているのと、 OracleOraDb10g_home1TNSLitenerが停止したり開始したりすることができます。 自分で作成したオラクルは初めてで、 最初にエラーが出た時もインターネットで検索したりして、 原因を探そうと思いましたが難しくて断念し再インストールといった感じでした。 どうかよろしくお願いします。 listener.oraとtnsnames.oraは下記の通りです。 # listener.ora Network Configuration File: g:\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 = g:\oracle\product\10.1.0\Db_1) (PROGRAM = extproc) ) ) XYZ = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = abc)(PORT = 1521)) ) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = abc)(PORT = 1521)) # tnsnames.ora Network Configuration File: g:\oracle\product\10.1.0\Db_1\network\admin\tnsnames.ora # Generated by Oracle configuration tools. XYZ = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = abc)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = abc)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )

  • PHP5でOracle接続がエラー

    Linuxサーバー(Oracle(10.1)+Apache(2.0.52)+PHP(5.0.5)) からデータを参照し、ブラウザで表示するものを作成しようとしています。 PHPからオラクルへ接続テストをしたところ、うまくいきませんでした。 $conn=oci_connect($user,$pass,$db); これがORA-12514のエラーになります。 エラーの原因がわかりません。どういうことを確認すればいいですか? tnsnames.oraとlistener.oraの"HOST"はIPアドレスにしていますが、 リスナーのステータス(コマンド:lsnrctl status) で見た"HOST"は<*.co.jp>というふうになっています。 これは問題ないのでしょうか? (tnsnames.ora) <$DB> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <IPアドレス>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =<$db>) ) ) (listener.ora) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <IPアドレス>)(PORT = 1521)) ) ) (リスナーのステータス) リスニング・エンドポイントのサマリー... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<$db.**.co.jp>)(PORT=1521)))

  • リスナーがありません

    無償版のOracle 12cをインストールしました。 レジストリで「ORACLE_HOME」と「ORACLE_SID」の値を確認して環境変数に設定しました。 ORACLE_HOME … C:\app\ora\product\12.1.0\dbhome_2 ORACLE_SID … orcl それから下記のURLを参考にしてユーザーを作成しました。 http://replication.hatenablog.com/entry/2015/08/05/093000 作成したユーザーで接続しようとしたら下記のエラーが発生してしまいました。 conn 上記で作成したユーザー/パスワード@PDBORCL ORA-12541: TNS: リスナーがありません ネットで「tnsnames.ora」に記述するという記事を見たので下記のパス先ある「tnsnames.ora」に下記の内容を追加しました。 C:\app\ora\product\12.1.0\dbhome_2\NETWORK\ADMIN PDBORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = IPアドレス)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = PDBORCL) ) ) でも結果は同じでした。 ※試しに下記のパス先に「tnsnames.ora」を設置しても同じでした。 C:\app\ora\product\12.1.0\dbhome_1\NETWORK\ADMIN 申し訳ありませんがどのようにすればいいのでしょうか。 何卒、ご教授宜しくお願いします。

  • SQLPLUS USER/PASSログインできない

    sqlplus testuser/passwd@TESTの形式ではログインできますが、sqlplus testuser/passwdだとORA-01034、ORA-27101が発生します。 ORACLE_SIDは正しくセットしていますが、どのように調査すればよいか分かりませんので、教えて下さい。 以下は実行結果です。 USER[2]% sqlplus testuser/passwd@TEST SQL*Plus: Release 11.2.0.1.0 Production on 水 1月 11 22:19:45 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options に接続されました。 SQL> exit Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切 断されました。 USER[3]% setenv ORACLE_SID TEST USER[4]% env | grep ORACLE ORACLE_SID=TEST ORACLE_HOME=/opt/app/oracle/product/11.2.0/dbhome_1 ORACLE32_HOME=/home/oracle2/32Bit ORACLE_TERM=sun5 USER[5]% sqlplus testuser/passwd SQL*Plus: Release 11.2.0.1.0 Production on 水 1月 11 22:20:17 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist SVR4 Error: 2: No such file or directory プロセスID: 0 セッションID: 0、シリアル番号: 0

  • SQL*PLUSでホスト名を入れるとエラー

    よろしくお願いします。 SQL*PLUSで、ホスト名を入れると、ORA-12154エラーとなってしまいます。 ホスト名を入力しないと、正常に接続可能です。 ちなみに、DBはローカルにあります。 以下、TNSNAMES.ORAの内容です。 =========================== ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = cl-000788.iafc.local )(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) ================================= どこか、設定が間違っているのでしょうか? よろしくお願いいたします。

  • Oracle 10gでORA-12154:TNS:could not...

    Oracle 10gのクライアント-サーバー環境でSQL*Plusなどから ローカルネーミングで接続しようとするとORA-12154:TNS:could not resolve the connect identifier specifiedが出て接続できません。 サーバー(ホスト名;aspire) VistaHomePremiumSP1 Oracle10gDatabase クライアント XPHomeEditionSP3 Oracle10gClient tnsnames.oraの内容 # tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora # Generated by Oracle configuration tools. ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = aspire)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) oracle.keyの内容 SOFTWARE\ORACLE\KEY_OraClient10g_home1 レジストリの内容 [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1] "ORACLE_HOME"="C:\\oracle\\product\\10.2.0\\client_1" "ORACLE_HOME_NAME"="OraClient10g_home1" "ORACLE_GROUP_NAME"="Oracle - OraClient10g_home1" "ORACLE_BUNDLE_NAME"="Enterprise" "NLS_LANG"="JAPANESE_JAPAN.JA16SJIS" "StatementCacheSize"="0" "OLEDB"="C:\\oracle\\product\\10.2.0\\client_1\\oledb\\mesg" "StmtCacheSize"="0" "SQLPATH"="C:\\oracle\\product\\10.2.0\\client_1\\dbs" "OO4O"="C:\\oracle\\product\\10.2.0\\client_1\\oo4o\\mesg" "ORACLE_HOME_KEY"="SOFTWARE\\ORACLE\\KEY_OraClient10g_home1" "MSHELP_TOOLS"="C:\\oracle\\product\\10.2.0\\client_1\\MSHELP" なお、簡易接続ネーミングでは成功します。 sqlplus scott/tiger@aspire/orcl また、環境変数ORACLE_HOMEを設定すると成功します。 set ORACLE_HOME=C:\oracle\product\10.2.0\client_1 sqlplus scott/tiger@orcl 諸先輩方のアドバイスをお願いいたします。

  • SQLPLUSでサーバー名&DB名直接指定??

    本来はSQLPlusで接続する場合には下記のようになると思います。 sqlplus system/manager@orcl ←tnsnames.oraに設定 でもでもでも!! 理由がありtnsnames.oraの変更が出来ません! でも新しく「test_orcl」というのを作って接続したいのです! とっても困っています。 もしtnsnames.oraに書き込まなくてもサーバー名などを指定して 接続する方法をご存知の方がいらしたら教えてください! ちなみに接続先は別サーバです。 どうかよろしくお願い致します!!!

  • Oracle10gclientで接続不能

    ローカルマシンにOracle10gclientをインストールし SQLPLUSにてサーバーのDB環境へ接続を試みたところ、以下のメッセージが表記され 接続が不可となります。 「ORA-12154: TNS:could not resolve the connect identifier specified」 Enter user-name : ちなみに、Net Configuration Assistantでは、接続可能となります。 バージョンは10.2.0.1です。 Cドライブにインストールしておりますが、 パスは以下となっています。 C:\oracle\product\10.2.0\client_1 C:\oracle\product\10.2.0\client_2 C:\oracle\product\10.2.0\client_2\NETWORK\ADMIN\の配下に 以下のファイルが存在しています。 listener.ora sqlnet.ora tnsnames.ora サイトでも調べているのですが、なかなか解決に至っておりません。 上記内容で何か考えられる原因等ございましたら アドバイスいただけると幸いです。 以上、よろしくお願い申し上げます。

  • オラクル 10g リスナーの設定ファイルについて

    お世話になります。 新規DBをDBCAで作成し、その後、Oracle Net Managerで、listener.oraファイルを設定したところ、外部プロシージャ定義(extproc関連)が 作成されてませんでした。 利用環境:DBサーバー(solaris8、Oracle10gR1)、クライアントPC(winXP、Access2003のアプリ) 複数のクライアントPCからLANを経由してDBサーバーへアクセスします。 質問 1.外部プロシージャ定義はどのような場合に記述するのでしょうか? 2.とりあえず記述しておいた場合に何か問題が起こる可能性はありますでしょうか? 3.記述場所は以下でよろしいでしょうか? SID_LIST_リスナー名 = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = DBネーム) (ORACLE_HOME = オラクルHOME) (SID_NAME = オラクルSID) ) ---以下外部プロシージャ定義(1)--- (SID_DESC = (GLOBAL_DBNAME = PLSExtproc) (ORACLE_HOME = オラクルHOME) (SID_NAME = extproc) ) ---(1)以上---- ) リスナー名 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = プロトコル)(HOST = ホスト名)(PORT = ポート番号)) ) ---以下外部プロシージャ定義(2)--- (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ---(2)以上--- ) 宜しくお願い致します。