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

No.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に変更していながら、クライアントはそのままのバージョンであるかを聞いたものです。
原因がわかりました。
ディスパッチャアドレスをinit.oraで明示的に記述していなかったため、
クライアント側にはホスト名で返っていたようで、名前解決ができなかったために
表示されたエラーでした。
クライアント側のHostsファイルに、サーバのホスト名とIPアドレスを記述するか、init.oraにディスパッチャアドレスをIPアドレスで記述すると繋がるようになりました。
いろいろありがとうございました。
No.4
- 回答日時:
「Oracle Net8 EasyConfig」を使って「tnsnames.ora」を作成しました所、
そちらのファイルとは違ったものが出来ました。
test.world =←■”.world”がついています。■
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = HostName)←■コンピュータの名前です。■
(PORT = 1521)
)
(CONNECT_DATA = (SID = ORCL)←■内容が違います■
)
)

No.3
- 回答日時:
こんにちは、ただの”くま”です。
お困りの件ですが、私も少々苦労しましたので、お助けできればと思い立ち寄らせていただきました。
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をオリジナルに作成していないでしょうか?
はどういう意味ですか?
>後、レベルアップ等行われていないでしょうか?。
何のレベルアップでしょうか?
すいませんが、上記の件について、よろしくお願いいたします。
No.2
- 回答日時:
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)
)
)
No.1
- 回答日時:
エラーを見た感じではSQL*Netの設定が正しく出来ていないように感じます。
OSがWindowsの場合では、「Oracle Net8 EasyConfig」の設定が正しく出来ていないように感じます。
質問を見た感じだとUnixの話のように見える為、Unixではなんと言うToolを使って設定するかわかりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-12170のエラーについて
-
SQLSERVER 2008 ODBC接続
-
「ORA-12637」エラーでORACLEに...
-
ODBCの設定でSQLServer名がでない
-
オラクルの「ORA_12545 ターゲ...
-
instantclient cse接続ができない
-
オラクルに接続できない
-
データソース名および指定され...
-
接続識別子とは何でしょうか??
-
データベース接続情報作成しま...
-
SQL*PLUSにてデータベース名表示
-
データーベースはないがいいで...
-
Oracle DBリンクについて
-
正しいSQLなのに「ORA-00936: ...
-
クラスタリングとレプリケーシ...
-
SIDとSERVICE_NAMEの違いとは?
-
.NET Frameworkがコントロール...
-
突然オラクルへ接続できなくな...
-
oracleのメモリ使用量が97%ほど...
-
OraOps10.dllのエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データソース名および指定され...
-
ORA-12170のエラーについて
-
Oracle10g・・ODBCで接続できない
-
sqlplus / as sysdba で接続不可
-
SQL*PLUSにてデータベース名表示
-
「ORA-12637」エラーでORACLEに...
-
「libpq.dll」ロード時にエラー
-
ACCESSからODBC接続でORA-12504
-
クライアントからのリスナーが...
-
データベース接続情報作成しま...
-
oracleの直接接続のクライアン...
-
オラクルに接続できない
-
オープン時にエラーが出て接続...
-
instantclient cse接続ができない
-
オラクルの「ORA_12545 ターゲ...
-
Oracle9i でODBC接続したい
-
VB.NET Oracle接続 32、64bit
-
Oracleが突然接続不可に!
-
SQLSERVER 2008 ODBC接続
-
ORA-12154 TNS:指定された接続...
おすすめ情報