Updatedbを実行してtnsnames.oraを見つけると、さまざまなOracle DBインストールが原因で長いリストが返されます。システムに設定されている「デフォルト」のtnsnames.oraにエントリをいくつか追加する必要があります。
多くのtnsnames.oraファイルのどれが実際に使用されているかを知るにはどうすればよいですか?
注:30個の奇妙なインスタンスは、「システム」フォルダー(例:/ etc/usrなど)の下にありません。
> echo $TNS_ADMIN
TNS_ADMIN: Undefined variable.
> echo $PATH
/usr/kerberos/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/local/ade/bin:/usr/NX/bin
> echo $Oracle_HOME
Oracle_HOME: Undefined variable.
RHEL4
$TNS_ADMIN
が設定されていない場合、tnsnames.ora
は$Oracle_HOME/network/admin/
。
Tnsnames.oraの詳細については、 ネットサービスリファレンス ブックを参照してください。
$Oracle_HOME
の値を確認するには、/etc/oratab
ファイルを確認します。このファイルには、データベース、関連する$Oracle_HOME
、およびDBを自動的に起動/停止する必要があるかどうかがリストされます。
oraInventory
にもいくつかの情報があります(/etc/oraInventory
フォルダーまたは/etc/oraInst.loc
ファイルをご覧ください)
上記の出力は、Oracleがインストールされているサーバーからのものですか? Oracleにアクセスするユーザーとしてログインしていますか?毎回環境を構築するシェルスクリプトを介してアクセスしない限り、その出力に基づいてOracleにアクセスする方法はわかりません。久しぶりですが、* nixシステムのIIRCでは、OracleにアクセスするためにOracle_HOMEを定義する必要があります。
入力した場合:
sqlplus someuser@somedb
上記のコマンドプロンプトから、何がわかりますか? sqlplusは不明なコマンドであると私には思われるはずです。そうでない場合、何をしますか
which sqlplus
教えて?
Oracle_HOMEもTNS_ADMINも設定されていない場合は、/etc/tnsnames.ora
を試してください。