INSERTAPPEND
有効な対象
Replicat (Oracle非統合モード)
摘要
INSERTAPPENDおよびNOINSERTAPPENDパラメータでは、非統合モードで実行しているReplicatが、Oracleターゲット表にINSERT操作(配列のバインディングに使用)を適用するときにAPPENDヒントを使用するかどうかを制御します。これらのパラメータは、Oracleデータベースにのみ有効で、BATCHSQLモードとのみ互換性があります。
INSERTAPPENDを指定すると、Oracleターゲット表にINSERT操作を適用するときに、ReplicatはAPPEND_VALUESヒントを使用します。レプリケートされるトランザクションが大きく、同一の表への複数の挿入が含まれている場合、ヒントの使用は適切なパフォーマンスの向上策です。トランザクションが小さい場合にINSERTAPPENDを使用すると、パフォーマンスが低下することがあります。APPENDヒント使用の詳細は、Oracleのマニュアルを参照してください。
INSERTAPPENDを使用する場合は、BATCHSQLパラメータを使用する必要があります。BATCHSQLを使用しない場合、Replicatは異常終了します。
これらのパラメータは2つの方法で使用でき、パラメータ・ファイルのルートで単独パラメータとして使用する場合は、一方のパラメータは、もう一方のパラメータが見つかるまで、それ以降のすべてのTABLEまたはMAP文に有効です。1つのMAP文内で使用する場合は、このMAP文より先に指定されている単独のINSERTAPPENDまたはNOINSERTAPPENDエントリよりも優先されます。
表が行圧縮またはハイブリッド列圧縮で圧縮されている場合、Replicatによって適用されるDMLは、このパラメータを使用していても圧縮されません。
MAPパラメータの詳細は、TABLE | MAPを参照してください。
デフォルト
NOINSERTAPPEND
構文
INSERTAPPEND | NOINSERTAPPEND
例
例1
次の例は、Replicatパラメータ・ファイルの一部です。INSERTAPPENDが、inventory表を除くfinスキーマ内のすべての表に対して使用されています。
BATCHSQL
INSERTAPPEND
MAP fin.*, TARGET fin2.*;
MAPEXCLUDE fin.inventory;
NOINSERTAPPEND
MAP fin.inventory, TARGET fin2.inventory;
例2
次の例は、Replicatパラメータ・ファイルの一部です。INSERTAPPENDが、inventory表を除くMAP文のすべての表に対して使用されます。
BATCHSQL
MAP fin.orders, TARGET fin.orders;
MAP fin.customers, TARGET fin.customers;
MAP fin.inventory, TARGET fin.inventory, NOINSERTAPPEND;