マルチスレッドサーバ構成にしているOracle8iのサーバに対して、クライアントからSQLPlusなどで接続しようとすると、ORA-12545のエラーが出てしまいます。
tnsnames.oraファイルには、HOSTをIPアドレスで記述しており、そのIPアドレス宛には、pingもtelnetでも接続できます。プロトコルにはTCPを使用しており、特に問題はないと思うのですが・・・。ちなみに、サーバを専用サーバ構成に変更すると繋がるようになります。
この現象に対する対処方法をご存知の方、ご教授ください。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

また、くまです。


>init<SID>.ora のHOST の構文を教えてください。

構文ではなく、あなたがデーターベースを作成するときに定義したSID名で自動生成された、データーベースに関するソースです。
存在場所:$ORACLE_HOME/dbs/init<SID>.ora ---> <SID> = TEST
中に書かれている、
db_name = "TEST" <---- データーベースの名前
instance_name = TEST <---- インスタンス名
service_names = TEST <---- サービス名
このソースにあるものと、tnsnames.ora に定義したSID名と同じでしょうか?と聞いたものです。

>lxinst でcharacterをオリジナルに作成していないでしょうか?

この意味は、Oracleデーターベースでユーザー定義キャラクターの利用を可能にするユーティリティコマンドです。簡単に説明しますと、ターゲットホストが見つからない理由は、要求するクライアントのキャラクターがSJISでも、データーベースに引き渡されると、UNICODEに一旦変換されるからです。今、ユーザ定義による作成されたキャラクターセットをなされた場合、これに対応するキャラクターが見つからないので、そのコマンドで作成されたかどうかを聞いたものです。

>レベルアップ等行われていないでしょうか?。
もちろん、データーベースのレベルアップです。8.1.6を8.1.8に変更していながら、クライアントはそのままのバージョンであるかを聞いたものです。
    • good
    • 0
この回答へのお礼

原因がわかりました。
ディスパッチャアドレスをinit.oraで明示的に記述していなかったため、
クライアント側にはホスト名で返っていたようで、名前解決ができなかったために
表示されたエラーでした。
クライアント側のHostsファイルに、サーバのホスト名とIPアドレスを記述するか、init.oraにディスパッチャアドレスをIPアドレスで記述すると繋がるようになりました。
いろいろありがとうございました。

お礼日時:2001/06/18 00:07

「Oracle Net8 EasyConfig」を使って「tnsnames.ora」を作成しました所、


そちらのファイルとは違ったものが出来ました。

test.world =←■”.world”がついています。■
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = HostName)←■コンピュータの名前です。■
(PORT = 1521)
)
(CONNECT_DATA = (SID = ORCL)←■内容が違います■
)
)
    • good
    • 0

こんにちは、ただの”くま”です。


お困りの件ですが、私も少々苦労しましたので、お助けできればと思い立ち寄らせていただきました。

 listener.ora と init<SID>.ora のHOST にも、tnsnames.ora 同様にIPアドレスを入れて、SID名をあわせてください。大文字、小文字は関係します。

 また、lxinst でcharacterをオリジナルに作成していないでしょうか?これをすると、今エラーとなっているものズバリ出ます。後、レベルアップ等行われていないでしょうか?。
 では、

この回答への補足

すいません。くまさん。

>listener.ora と init<SID>.ora のHOST にも、tnsnames.ora 同様にIPアドレスを入れて、SID名をあわせてください。大文字、小文字は関係します。

ですが、init<SID>.ora のHOST の構文を教えてください。

>また、lxinst でcharacterをオリジナルに作成していないでしょうか?

はどういう意味ですか?


>後、レベルアップ等行われていないでしょうか?。

何のレベルアップでしょうか?


すいませんが、上記の件について、よろしくお願いいたします。

補足日時:2001/06/13 12:44
    • good
    • 0

sqlplusで接続する時に接続文字列を付けていますか。


Exp
USER scott
PASSWORD   tiger
接続文字列 orcl.world(tnsnames.oraに登録されている接続文字列)

 sqlplus scott/tiger@orcl.world

上記で接続出来ないのであればtnsnames.oraの登録内容に不備があると思いますが。

この回答への補足

接続文字列は記述しています。
それでもエラーになります。
サーバを専用サーバ構成に変更すると繋がるようになります。

ちなみに、下記がtnsnames.oraファイルの中身です。

TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.143)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TEST)
)
)

補足日時:2001/06/07 14:17
    • good
    • 0

エラーを見た感じではSQL*Netの設定が正しく出来ていないように感じます。



OSがWindowsの場合では、「Oracle Net8 EasyConfig」の設定が正しく出来ていないように感じます。

質問を見た感じだとUnixの話のように見える為、Unixではなんと言うToolを使って設定するかわかりません。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QSQLPLUSでセレクト結果の表示方法

お世話になります。

SQLPLUSでselect * from AAA

という風にセレクト結果を出力する場合
AAAテーブルのカラム数が多い場合改行されて出てきますが、
これを改行せずに1レコード1行で表示させられないでしょうか? 何かSQLPLUSのコマンド等をご存知の方いらっしゃったらご教授お願いいたします。

Aベストアンサー

SET LINESIZE 100
100のところの数値を大きくすれば一行の最大桁数が大きくなります。
その他、オプション→環境で、オプション設定リストの
LINESIZEを選択し、桁数を入力してもOKです。

Qコンピュータ名とIPアドレスの対応付け

各コンピュータにあるデータベースだけで、世界中のコンピュータ名とIPアドレスの対応付けを行うのは困難だと思います。実際のネットワークでは、コンピュータ名とIPアドレスの対応付けをどのように行っているのですか?

Aベストアンサー

簡単に言うと電話帳に相当する「DNSサーバー」というコンピュータが
世界中に無数に配置されています。

国を調べるもの、その下、その下という風に階層的に分担されています。

http://oshiete1.goo.ne.jp
を例にとると世界→jp→ne→gooという風に問い合わせていきます。

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

本来はSQLPlusで接続する場合には下記のようになると思います。

sqlplus system/manager@orcl ←tnsnames.oraに設定

でもでもでも!!
理由がありtnsnames.oraの変更が出来ません!

でも新しく「test_orcl」というのを作って接続したいのです!
とっても困っています。

もしtnsnames.oraに書き込まなくてもサーバー名などを指定して
接続する方法をご存知の方がいらしたら教えてください!

ちなみに接続先は別サーバです。
どうかよろしくお願い致します!!!

Aベストアンサー

JDBCのThin Driverを使用する。
http://www.techscore.com/tech/Java/JDBC/5.html

参考URL:http://www.techscore.com/tech/Java/JDBC/5.html

Qsqlplusでバックスペースが効かない。

LinuxにOracleをインストールしました。
windowns上からsqlplusを使うときに
バックスペースを押しても、前の文字が消えません。

SQL>select~?

Deleteキーを押すとこうなります。
SQL>select[[4~

(Ctrlキーを押しながらバックスペースを押すと消えるのです。)

Tera Term の設定ではバックスペースを使えるようにしてあるので
Oracleの環境が原因なのでしょうか。

どうすれば、バックスペースを使えるようになるのか教えてください。
お願いします。

Aベストアンサー

sqlplus を使うときに使っているユーザのホームディレクトリに .login という
ファイルがある(ls -a で見られる)ので、それに

stty erase '^h'

という行を加えれば、多分 OK 。

Q[SQLserver7.0]旧サーバ → 新サーバへの移動

こんにちわぁ♪

Win2000とSQLサーバ7.0の構成でSQLサーバをインターネットDBを運用しています。

サーバ増強のため旧サーバから新サーバへデータを移動させたいのですが・・・
ファイルの移動みたいなことでいける!と聞いたのですが・・・

どのようにすれば一番楽ですか??

お願い!教えて!!

Aベストアンサー

ファイルの移動…。になるのでしょうか。
2年ほど前、WinNTで、SQLサーバのバックアップ機能を使いました。

旧サーバでエクスポート、(DATファイルへ退避)
新サーバでインポート  (DATファイルから取り込み)
といったことをやりました。
ただ、2年前の記憶であり、細かい手順や設定までは記憶にありません。
その時手順書も作ったのですが、行方不明です。お役にたてずすみません。

※結構前の質問みたいなので、情報提供ということで書き込みしておきます。
 どなたか、同様の問題を抱えたときは、参考になればいいと思います。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報