はい、可能です。たとえば、Linux では、次のように実行します。
ssh -N -Llocalport:dbserver:dbport yourname@connectionserver
どこ
- localport は、転送されるマシンのポートです (Oracle のローカル インスタンスが実行されていない場合は 1521 になる可能性があります)。
- dbserver は、データベース サーバーの名前または IP です。
- dbport はデータベースのポートです (通常は 1521)
- yourname は接続サーバーへのログインです
- connectionserver は、ssh アクセスできるマシンです
Plink (Putty に付属) を使用して、Windows でも同じことができます。
plink -N -L localport:dbserver:dbport yourname@connectionserver
これを両方のマシン (ローカル マシンとアクセスできるサーバー) で実行して、ssh トンネルをチェーンします。例:
接続サーバー (Linux を想定):
ssh -N -L1521:dbserver:1521 dblogin@dbserver
あなたのPC:
plink -N -L 1521:connectionserver:1521 connlogin@connectionserver
tnsnames.ora エントリは、ローカル データベースを実行しているように見える必要があります。
prodoverssh =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = prod)
)
)