Oracle 10gのデータベースリンクを介して転送されます。出来ますか?
-
08-09-2020 - |
質問
データベースリンクを介してデータベースリンクを介してデータを転送しています(INSERT INTO SELECT ...
を使用)。
リンクを介して転送されたデータが圧縮されているかどうかを知りたいのですが、ネットワーク使用が多すぎるのを防ぐために圧縮できます。私は帯域幅がほとんどありません、そしてそれがまだ行われていないならば私はそれが助けるだろうと思います。
解決
いくつかの重複排除しかし、重大な圧縮はありません。
UTL_Compress関数がありますが、宛先を解凍すること(トリガー、またはビューの代わりに)解凍することがわかります。
expDPはデータベースリンクを使用できます( network_link )そして、11g、圧縮 ライセンスされた高度な圧縮オプションをライセンス。< / P>
があります他のヒント
@Garyは、ネイティブではないが、とにかくコマンドラインアクセスがあると仮定して、SSHトンネルを使用して圧縮を得ることが可能です。 SSHマニュアルページは、圧縮が高速ネットワーク上で物事を遅くする可能性があると注意していますが、厳密に帯域幅制約がある場合は、トレードオフが価値がある可能性があります。そして、あなたはあなたの状況に最適な結果を得るためにCompressionLevel
のssh_config
を試す必要があるかもしれません。
例えば、既存のリンクがremote_server
Port Port 1521
:
create database link direct connect to usr identified by pwd
using 'DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=remote_server)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=remote_service)))'
.
無料のローカルポートを使用してSSHトンネルを作成することができます。
ssh -C -N -L1522:localhost:1521 remote_server
.
と、トンネルのローカル側を指すDBリンクを持つことができます。
create database link direct connect to usr identified by pwd
using 'DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522))
(CONNECT_DATA=(SERVICE_NAME=remote_service)))'
.
だからホストとポートを変更するだけです。既存のリンクがtnsnames
エントリを使用している場合は、代わりに、localhost:1522
ではなくremote_server:1521
を指すように変更することができます。
ORA-12541: TNS:no listener
エラーが発生します。