1 つのクエリで 2 つのデータベース リンクを使用しようとしています。1 つはデータのフェッチ用、もう 1 つはデータの挿入用です。しかし、別々のクエリで使用すると両方とも完全に機能しますが、単一のクエリでそれらを使用することはできません。1 つのクエリで個別のデータベース リンクを使用することはできませんか? 私が実行しようとしているクエリは次のようなものです
INSERT INTO TABLE1@DBLINK1 SELECT * FROM TABLE2@DBLINK2;
これは 10g のバグのようです。おそらくバグ 6320621、ORA-2019 は、SQL が DBLINK を介して複数のサイトに接続するときに発生します。または 5713736、「INSERT INTO STATEMENT WITH SELECT OPTION FAILS USING DB-LINK ORA-02019」。特定の状況でこれを調査するには、おそらく Oracle に SR を提出する必要があります。
別のアプローチとして、あるデータベースからデータをアンロードしてから、別のデータベースにロードすることを検討できます。たとえば、 と を と オプションとともに使用expdp
してimpdp
、転送を 2 段階で行うことができます。もちろん、ダンプ ファイルを中間データベース サーバーに格納するためのスペースが必要であり、あまり便利ではありません。中間を避けて、ソースまたは宛先データベースサーバーからそれを行うことができるかもしれませんが、直接アクセスできるかどうかは明らかではありません.tables
content=data_only