sqlplusを使用して、自分のtnsnames.oraを変更せずに別のホストにあるOracle Databaseに接続する方法
別のホストにあるOracleデータベースにsqlplusで接続したいのですが、どうすればいいでしょうか?このページでは、そのデータベースに接続するために、tnsnamesに項目を追加することを提案しています。
local_SID =
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= hostname.network)(Port= 1521))
(CONNECT_DATA = (SID = remote_SID))
)
を追加し、それをsqlplusで使用することを提案しています。
sqlplus user/pass@local_SID
しかし、私の状況では、ローカルのtnsnamesを変更することはできません。tnsnamesを変更することなく、sqlplusの引数だけでリモートデータベースに接続することは可能でしょうか?以下のようなものです。
sqlplus user/pass@remote_SID@hostname.network ;( I know, this one is not valid)
81
3
もしかしたら、使用しているコマンドライン環境にもよるかもしれませんが、以下のように文字列を引用する必要があります。
または
これにはeasy connectが使えます。
あなたのマシンで easy connect を有効にするには、sqlnet.ora の
NAMES.DIRECTORY_PATH
に追加する必要があります。リスナーがデフォルト以外のポートにある場合は、
...@hostname.network:port/...
を使用してください。実際には、SIDではなくサービス名を指定しなければならないようです。これらは同じかもしれませんが、そうでない場合はサーバから取得する必要があります。
書き込み可能なディレクトリにtnsnames.oraファイルのコピーを作成し、ファイルを適宜変更した後、TNS_ADMIN環境変数にそのディレクトリの場所を設定します。
例