電子書籍の厳選無料作品が豊富!

初めまして。
今、oracle9iのDBサーバーと、同じセグメントにあるclientをインストしたマシンで接続しようと頑張っているのですが、うまくいきません・・・。

設定としては、tnspingもOK出ているのですが、clientから
sqlplus ID/PW@service_name
で入ると

「ORA-12541 TNS リスナーがありません」
が出てしまって接続できません。

接続先のDBサーバーのリスナーも上がっているのは確認しています。

clientで接続する際には、DBサーバー側のlistener.oraも設定し直す必要があるのでしょうか?それとも他の設定ファイルを編集する必要があるのでしょうか?
それとも、client側もリスナーあげなきゃいけないのでしょうか??

ちなみに今回設定をしたのは、client側のtnsnames.oraだけです。足りないのがあれば教えてください。よろしくお願いします!
(↑すみません勉強不足で。。)

A 回答 (2件)

 最も手っ取り早いのは、クライアントのservice_nameで指定している接続サーバとポートを、サーバマシンのnetstat -a(またはクライアントからtelnet server 1521)で見てLISTENしているかどうか確かめる事でしょう。

LISTENしていればクライアントがおかしい、していなければサーバがおかしい。
 DBサーバのlistener.oraは標準でインストールすればそのマシンの*:1521を待ち受けると思いますが、カスタムで入れているとしたらちょっと分かりませんね。ちなみにクライアントのリスナーを起動する必要はありません。

 一歩一歩切り分けをしていきましょう。
 現在の問題は間違いなくクライアントがリスナーを見つけられない事です(例えばリスナー位置が正しくてグローバルデータベース名が間違っていると、同じように繋がらないけどエラーメッセージが違う(多分))。

この回答への補足

>anmochiさん
アドバイスありがとうございます。

サーバーのnetstatは問題なかったです。
tcp 0 0 *:1521 *:* LISTEN
ということは、やはりクライアントの設定ということになるのでしょうか?

tnspingがOKと言っていましたが、
「TNS-12541: TNS: リスナーがありません。」
が出現していました。すみません。。
とにかく、クライアントのtnsnames.oraが違うってことが切り分けできたのかと思います。
でも、tnsnames.oraにリスナーの位置など記述する個所ってありましたでしょうか?
クライアントのtnsnames.oraはこれだけしか書いていません。

%クライアント側のSERVICE_NAME =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 19.168.***.**)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = %DBサーバーのサービス名)
)
)

補足日時:2004/10/19 09:40
    • good
    • 0

こんにちは。



TNSNAMES.ORAの中の記述
(ホストのIP、ポート、サービス名)
は、絶対に間違いないですか?
(^^ゞ

この回答への補足

アドバイス、どうもありがとうございます。
やはり初心者では敷居が高すぎますね。

結局解決できました。
理由といたしまして、同階層にあるsqlnet.oraというファイルに意味不明の記述(ゴミ)があったみたいで、それをパラメータとして読み込んでいた為エラーが発生したみたいです。お騒がせいたしました。。


私と同じ様な箇所で苦しむ人へ・・・基本的にクライアントはtnsnames.oraと環境変数だけの書き換えだけです。

補足日時:2004/10/20 23:00
    • good
    • 0

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