質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Q&A

解決済

3回答

19541閲覧

【ORACLE】ORACLE_HOMEを設定し、tnsnames.oraを参照しているにも関わらず識別子エラーとなる

beginner_Jiro

総合スコア10

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

0グッド

0クリップ

投稿2020/11/16 05:45

編集2020/11/16 06:26

皆様、お世話になっております。

ORACLEDB接続にて標題の件で困っているために質問いたしました。詳細は下記の件となります。

現在の状態と行った対処方ついて

VBAのODBC接続にてtnsname.oraを参照して接続を試みております。

ORACLE_HOMEのディレクトリ構造はC:\oracle\product\11.2.0\client_1\network\admin
となっており特に変則的な場所を指定はしておりません。
またORACLE_HOMEの環境変数の設定も完了しております。
環境変数の設定にて一度間違ったパスを指定してしまい、「致命的なエラー」の旨のエラーが発生しました。
パスを修正し、再起動後試したところ、「ORA-12154: TNS: 指定された接続識別子を解決できませんでした (TNS-12154)」
のエラーが確認されたために、おそらく環境変数のパスは通っており、正しいtnsnames.oraファイルは参照できているように見受けられます。

他PCとの比較

実は今回発生している事象は私のPCではなく別の方のPCで発生しております。
私の場合でもORACLE_HOMEのディレクトリ構造やtnsnames.ora、sqlnet.oraの内容に変わりはありません。
ただ私の端末ではツールが正常に動作するためにツールやファイル内容の不備とは考えにくいです。

知りたいこと

①tnsnames.oraを参照するパスを確認する方法(コマンドプロンプトで%ORACLE_HOME%なども確認しましたが表示されるパスに問題はなさそうです)
②ORACLE_HOME環境変数のほかにtnsnames.oraを明示的に設定できる方法がないか(TNS_ADMIN 環境変数は調べてみましたが設定方法を調べても記載がありませんでした。。。)
③その他有益なチェック項目や解決方など

上記、情報に不足点等ありましたら随時ご指摘いただければと思います。
お手数ですが、ご知識のございます方は回答いただけますと幸いです。

以上になります。よろしくお願いいたします。

tnsnames.ora、sqlnet.oraの追記

Orlofsky様よりご指摘いただき両ファイルの内容を下記に記載いたします。(機密項目は伏字とさせていただきます。)

sqlnet.ora

1# sqlnet.ora Network Configuration File: C:\oracle\product\11.2.0\client_1\network\admin\sqlnet.ora 2# Generated by Oracle configuration tools. 3 4# This file is actually generated by netca. But if customers choose to 5# install "Software Only", this file wont exist and without the native 6# authentication, they will not be able to connect to the database on NT. 7 8SQLNET.AUTHENTICATION_SERVICES= (NONE) 9 10NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) 11

tnsnames.ora

1# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora 2# Generated by Oracle configuration tools. 3 4# 5xxx_DEV = 6 (DESCRIPTION = 7 (ADDRESS_LIST = 8 (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = xxxx)) 9 ) 10 (CONNECT_DATA = 11 (SERVER=DEDICATED)(SERVICE_NAME = xxxxDB) 12 ) 13 ) 14

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

回答いただきました方ありがとうございました。
こちら解決致しましたので下記に詳細を記載いたします。
sazi様にご教授いただきましたOracleユーティリティのtnspingではエンドポイントに疎通テストの他に
識別子名を指定するとプロパティファイル(tnsnames.ora,sqlnet.ora)を使用して接続を試みる方法が
ありました。こちらを使用することにより、プロパティファイルを参照するパスが表示されることとなります。
よって識別子名を指定したtnspingを使用したところインストールしたORACLE_HOMEとは異なるディレクトリ配下のプロパティファイルを参照していることが判明しました。
そちらに接続識別子を記載したことにより、問題なくインスタンスへの接続が可能になりました。

ご回答いただきました
Orlofsky様
sazi様

誠にありがとうございました。

投稿2020/11/18 02:44

beginner_Jiro

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

この辺(tnsnames.ora ファイル)については理解されているようですので、TNSPINGで疎通の確認をされてみてください。
※リンク先にあるlsnrctl statusなどを利用してtnsnames.oraの内容を確認しつつ行って下さい。

投稿2020/11/16 06:34

sazi

総合スコア25327

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

beginner_Jiro

2020/11/16 07:19

sazi様 お世話になっております。 ご回答いただきありがとうございます。 また、ドキュメント、参照させていただきました。 こちら、該当のユーザー様へ試していただいたところ、OKの表示がございました。 HOSTを指定しての通信は行えているようですが、tnsnemas.oraの名前解決でつまずいているような感じでしょうか。。。
guest

0

SQL*PlusでOracle Databaseに接続できますか?

Oracle Database, Oracle Client 共に、Oracle Database Matrix でサポートされている環境でしょうか?

サポートされている組み合わせなら、tnsnames.ora、sqlnet.ora を質問に https://teratail.com/help/question-tips#questionTips3-7 の [コード] で追記しては? IP アドレスは xxx.xxx.xxx.xxx などと隠してください。

追記

Windows Home Premium はOracle Database ではサポートされていません。Oracle11.2 はWindows10 もサポート外です。

投稿2020/11/16 05:56

編集2020/11/16 06:41
Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問