DELETE TRANDATA
DELETE TRANDATAでは、次のいずれかの操作を行います。
-
Db2 LUWおよびDb2 z/OS: 表を
DATA CAPTURE NONEに変更します。 -
Oracle: サプリメンタル・ロギングの無効化
-
SQL Server: 表の拡張ロギングの停止。
-
PostgreSQL: 表の
REPLICA IDENTITYをNOTHINGに変更します。
デフォルトで、このコマンドはOracle GoldenGateが使用するキー列(主キー、一意キー、KEYCOLS列、またはすべての列の場合があります)とスケジュール列のサプリメンタル・ロギングを削除しようとします。スケジュール列は、主キー、すべての一意キー、すべての外部キーです。Oracle GoldenGateのキー列のロギングを削除し、スケジュール列は削除しない場合、NOSCHEDULINGCOLSオプションをDELETE TRANDATAに含めます。ADD TRANDATAがALLCOLSオプションを指定して発行された場合、DELETE TRANDATAをALLCOLSオプションを指定して使用すると、Oracle GoldenGateのキー列を含む、すべての列のサプリメンタル・ロギングが削除されます。DELETE TRANDATAは、すべての表レベルのサプリメンタル・ロギングが無効になるか削除された後に、表の論理レプリケーションを無効にします。この動作は、Oracle 19c以上からサポートされます。また、DELETE TRANDATA操作によって表の最後のサプリメンタル・ログ・グループが削除されると、ALTER TABLE owner.table DISABLE LOGICAL REPLICATIONも実行されます。
DELETE TRANDATAの実行後に、ADD TRANDATA table_nameコマンドを実行して、論理レプリケーションを有効にする必要があります。
ノート:
ADD SCHEMATRANDATAを使用して論理レプリケーションを有効にすることはできません。
このコマンドを使用する前に、DBLOGINコマンドを使用してデータベース接続を確立してください。このコマンドで指定するユーザーは、ADD TRANDATAの実行に必要な権限と同じ権限を持っている必要があります。
構文
DELETE TRANDATA [container.]owner.table [NOSCHEDULINGCOLS | ALLCOLS]