LinuxクライアントにOracle 11gサーバーをインストールせずに、SQLplusクライアントとtnsnames.oraを使用してリモートOracleサーバーへの接続を作成したい。私は、リモートのOracleサーバーからレポートを生成するために、debianおよびbashスクリプトを使用しました。これは可能ですか?
SQLplusクライアントをインストールしようとしましたが、tnsnames.oraファイルが見つかりません。
可能であれば、tnsnames.oraファイルを使用するようにSQLplusクライアントを構成する例を教えてください。
「基本インスタントクライアント」と「sqlplus追加」パッケージをインストールしました。 sqlplus user/password@Host:port/servicenames
で正常に接続できます。 10個を超えるインスタンスで* .sqlファイルを実行するbashスクリプトを作成したい。したがって、sqlplus user/pw@instance
で接続できる場合は、単純に見えます。それは可能ですか?
更新:tnsnames.oraファイルを/ etcにコピーすることで解決しました。
#3の このページ を参照してください
おかげで: Wernfried Domscheit 、 EdStevens 、 Paul White
最初に、_tnsnames.ora
_ファイルを使用するようにOracleに指示する必要があります。このオープン/作成ファイル__sqlnet.ora
_の場合、次のように行を挿入します。
_NAMES.DIRECTORY_PATH = (TNSNAMES)
_
他の解決方法を追加できます。 「LDAP」、 DIRECTORY_PATH を参照してください。エントリtnsnames
は、_tnsnames.ora
_ファイルを使用するようにOracleに指示します。ドキュメントで見たように、NAMES.DIRECTORY_PATH=(tnsnames, onames, hostname)
がデフォルトなので、この場合、実際には_sqlnet.ora
_ファイルをスキップできます。
これら2つのファイルの場所に関しては、答えは簡単ではありません。異なるアプリケーションが異なるフォルダを検索し、優先順位のルールが異なる場合があります。
次のフォルダが検索パスの一部である可能性があります:
TNS_ADMIN
_で定義されたフォルダーフォルダ_${Oracle_HOME}\network\admin
_
ファイルが別のフォルダーにある場合は、この場所にフォルダーを指すシンボリックリンクを配置することをお勧めします。
... Windowsの場合(情報のみ)、これらも
HKLM\SOFTWARE\Oracle\KEY_{Oracle_HOME_NAME}\TNS_ADMIN
_で定義されたフォルダ。 _HKLM\SOFTWARE\Wow6432Node\Oracle\KEY_{Oracle_HOME_NAME}\TNS_ADMIN
_machine.config
_、それぞれ。 _web.config
_ファイル、セクション_Oracle.manageddataaccess.client/version/settings/setting/@name="tns_admin"
_tnsnames.oraは何にも「付随」しません。キーは名前解決ファイルにすぎないため、そのファイルではありません。また、sqlplusはCLIアプリケーションにすぎません。 Oracleデータベース(またはANYデータベース)に接続する場合は、少なくとも特定のデータベース製品用のクライアントソフトウェアが必要です。 Oracleの場合、Oracleクライアントをダウンロードしてインストールする必要があります。最も簡単なのは、ここからダウンロードできる「インスタントクライアント」です http://www.Oracle.com/technetwork/database/features/instant-client/index-097480.html 。完全な「Admin」または「Runtime」クライアントが必要な場合は、edelivery.comからダウンロードして、クライアントソフトウェアのみを選択します。ライセンス条項に注意してください。