2.1 リモート挿入行ソース
リモート挿入行ソース機能を使用すると、OracleデータベースおよびOracle Databaseゲートウェイを介してローカルのOracleデータを処理する必要があるリモート挿入が可能になります。 この機能を使用するには、OracleデータベースおよびOracle Databaseゲートウェイのバージョンが12.2以上である必要があります。
Oracle Database設計では、一部の分散文をデータベース・リンク・サイトで実行する必要があります。 ただし、特定の状況では、元のOracle Databaseからフェッチする必要があるこれらの問合せを実行するために必要なデータがあります。 同機種間接続では、リモートOracleデータベースがソースOracleデータベースをコールバックして、このようなデータを取得します。 ただし、異機種間接続では、これは実行できません。これは、外部データ・ストアが、問合せを発行したOracleインスタンスでのみ提供できるコールバック関数(データ)を問い合せる必要があることを意味します。 通常、これらの種類の文は、Oracle Databaseゲートウェイを介してサポートできるものではありません。
次のカテゴリのSQL文では、コールバックが発生します:
- Oracleデータベースの表を参照するサブ選択を含むDML。
- 元のOracleデータベースで実行する必要があるSQL関数または文を含む
DELETE
,INSERT
,UPDATE
またはSELECT... FOR UPDATE..."
SQL文。これらのSQL関数には、
USER
、USERENV
およびSYSDATE
が含まれ、元のOracleデータベースからのデータの選択が含まれます。 - Oracleデータベース内の表、およびリモート表の
LONG
またはLOB
列を含むSQL文。
リモート挿入行ソース機能を介して機能するリモートINSERT
文の例を次に示します:
INSERT INTO gateway_table@gateway_link select * from local_table;
親トピック: SQL Serverゲートウェイの機能および制限