MySQL Group ReplicationをサポートするOracle GoldenGate機能

次に、MySQLデータベースGroup Replicationインスタンスからのキャプチャをサポートするために必要なOracle GoldenGateの機能を示します。

CSN形式

MySQL Group Replication用のExtractでは、Group Replicationグローバル・トランザクションIDに基づく新しいCSN形式を使用します。ソース証跡がMySQL Group Replication Extractによって生成されたMySQL Group Replication ExtractまたはReplicatを手動で配置する場合は、このCSN形式をATCSNおよびAFTERCSNとともに使用する必要があります。

グループ・レプリケーションのキャプチャで使用される順序の例を次に示します:
00000000000000000001:f77024f9-f4e3-11eb-a052-0021f6e03f10:0000000000000010654

この順序では、Oracle GoldenGateの順序番号は00000000000000000001で、GTIDはf77024f9-f4e3-11eb-a052-0021f6e03f10:0000000000000010654です。

拡張チェックポイントのサポート

Extract for MySQL Group Replicationには、コアExtractチェックポイント・ファイルに加えて拡張チェックポイント・ファイルが含まれています。拡張チェックポイント・ファイルは、コア・チェックポイントと同じチェックポイント・ディレクトリに作成され、キャプチャ・グループの名前の後に拡張子cpexが付きます(例: extmysql.cpex)。

このファイルは、Extractの起動時に作成され、Extractの削除時に削除されるため、編集しないでください。

GTIDベースのExtractの使用
gtid_modeがMySQLデータベースで有効になっている場合、Oracle GoldenGate Extract for MySQLは、GTIDベースのリカバリ・メカニズムおよび拡張チェックポイントを使用して自動的に開始されるため、フェイルオーバーおよびリカバリをサポートできるようになります。Extractに追加のパラメータは必要ありません。

ノート:

Group Replicationを使用しない場合は、ソースMySQLデータベースでgtid_modeを無効にすることをお薦めします。これにより、Extractのキャプチャ動作がログ番号およびオフセット方法の使用に戻ります。
MySQLでのOracle GoldenGate GTIDベースのExtractのGTIDセットによる位置

GTIDセットによる新しい位置タイプpositiobが、MySQLのGTIDベースのExtractに追加されました。GTIDセットによる位置指定は、MySQLのGTIDベースの取得でのみサポートされます。

GTIDおよびGTIDセットの概要は、MySQLデータベースのドキュメントを参照してください:

https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-concepts.html

この機能でサポートされるMySQLのソースは、MySQL Server 8.0、MySQL Server 5.7およびMySQL Database Service (MDS)です。

サポートされている最大GTIDセット・サイズは64KBです。

GTIDSETパラメータの使用方法の詳細は、ADD EXTRACTおよびALTER EXTTRAILを参照してください。

「GTIDSETパラメータのREST APIの例」も参照してください。

GTIDSETパラメータのREST APIの例

このトピックでは、ADD EXTRACT REST API POSTリクエスト、ALTER EXTRACT RESTリクエストでGTIDSETパラメータを使用し、INFO EXTRACTコマンドを使用してExtractのGTIDセット値をチェックする例を示します。

例1: Extractを追加するためのREST APIポスト・リクエストは次のとおりです:
{
    “credentials”: {
        “alias”: “ggeast”
    },
    “source”: “tranlogs”,
    “begin”: {
        “at”: {
            “atGtidSet”: [
                     “2174B383-5441-11E8-B90A-C80AA9429562:1-3”,
                     “3174B383-5441-11E8-B90A-C80AA9429562:1-3",
                     “4174B383-5441-11E8-B90A-C80AA9429562:1-3”
            ]
        }
    }
}
Extractを追加するRESTリクエストの例を次に示します:
> POST /services/{version}/extracts/exte
{
    “source”: “tranlogs”,
    “begin”: {
        “at”: {
            “atGtidSet”: “1d380bee-0c24-11ee-b338-00001701f1ea:1-8”
        }
    }
}
Extractを変更するRESTリクエストの例を次に示します:
> PATCH /services/{version}/extracts/exte
{
    “begin”: {
        “at”: {
            “atGtidSet”: “1d380bee-0c24-11ee-b338-000017015555:12-19”
        }
    }
}
次の例に示すように、GTIDセットによるExtractを追加した後、INFO EXTRACTコマンドをshowchを指定して使用して、GTIDセットを位置として表示します:
OGG (http://localhost:9011/ GTIDMAIN) 6> info extract exte, showch

Extract    EXTE   Initialized  2023-07-17 19:00   Status STOPPED
Checkpoint Lag       00:00:00 (updated 00:00:06 ago)
VAM Read Checkpoint  First Record
00000000000000000000:cd6f98b1-1fbd-11ee-b73f-00001701f1ea:20
GTID Set             cd6f98b1-1fbd-11ee-b73f-00001701f1ea:1-20
Encryption Profile   LocalWallet