このトピックでは、CHANGE REPLICATION FILTERステートメントを実行して、プライマリ /セカンダリレプリケーションリンクのフィルタ設定を変更する方法について説明します。
構文
CHANGE REPLICATION FILTER option [, option] ... [ channel_option ]
option: {
REPLICATE_DO_DB = (do_db_list)
| REPLICATE_IGNORE_DB = (ignore_db_list)
| REPLICATE_DO_TABLE = (do_table_list)
| REPLICATE_IGNORE_TABLE = (ignore_table_list)
| REPLICATE_WILD_DO_TABLE = (wild_do_table_list)
| REPLICATE_WILD_IGNORE_TABLE = (wile_ignore_table_list)
| REPLICATE_SKIP_TSO = 'tso_num'
| REPLICATE_SKIP_UNTIL_TSO = 'tso_num'
| REPLICATE_ENABLE_DDL = {TRUE|FALSE}
}
channel_option:
FOR CHANNEL channel
使用上の注意
このSQL文は、PolarDB-X V5.4.19以降でサポートされています。
CHANGE REPLICATION FILTERステートメントを実行するには、現在のインスタンスの特権アカウントを使用する必要があります。
channel_optionパラメーターが指定されている場合、このステートメントは指定されたプライマリ /セカンダリレプリケーションリンクでのみ有効になります。 channel_optionパラメーターが指定されていない場合、このステートメントは現在のインスタンスのすべてのプライマリ /セカンダリレプリケーションリンクで有効になります。
ステートメントが実行されるプライマリ /セカンダリレプリケーションリンクが無効になっていることを確認します。 STOP SLAVEステートメントを実行して、プライマリ /セカンダリレプリケーションリンクを無効にできます。
Parameters
REPLICATE_SKIP_TSO: binlogイベントがスキップされるタイムスタンプOracle (TSO) 。 TSOの詳細については、「分散トランザクション」をご参照ください。
REPLICATE_SKIP_UNTIL_TSO: すべてのbinlogイベントがスキップされる前のTSO。
REPLICATE_ENABLE_DDL: DDL文を同期するかどうかを指定します。 デフォルト値は TRUE です。
次のパラメーターの詳細については、「CHANGE REPLICATION FILTER」をご参照ください。
REPLICATE_DO_DB
REPLICATE_IGNORE_DB
REPLICATE_DO_TABLE
REPLICATE_IGNORE_TABLE
REPLICATE_WILD_DO_TABLE
REPLICATE_WILD_IGNORE_TABLE
例 1
次のステートメントを実行して、TESTデータベースの変更のみを同期するようにレプリケーションリンクを変更します。
CHANGE REPLICATION FILTER REPLICATE_DO_DB=(TEST);
例 2
TSOの取得
SHOW BINLOGS EVENTSステートメントを実行して、binlogイベントのTSOを取得します。 次の図は、レスポンスのサンプルを示しています。
INFO列のCTS:: に続く数値文字列は、イベントのTSOです。
TSOに対応するイベントをスキップする
次のステートメントを実行して、レプリケーションリンクを変更し、次のTSO: 716669064683978758416977558623632834560000000000000000に対応するbinイベントをスキップします。 この場合、POS列の値が372であるbinlogイベントはスキップされます。
CHANGE REPLICATION FILTER REPLICATE_SKIP_TSO='716669064683978758416977558623632834560000000000000000';
詳細については、「CHANGE REPLICATION FILTER」をご参照ください。