リモート・キャプチャのためのMySQLの構成

MySQLのためのOracle GoldenGateリモート・キャプチャ、Amazon RDS for MySQL、Amazon Aurora MySQL、Azure Database for MySQLを使用して、Oracle GoldenGateインストールにリモートに配置されているデータベースからトランザクション・ログ・データを取得します。

データベース・サーバー構成

リモート取得が機能するには、MySQLサーバーを次のように構成します。

  1. Oracle GoldenGateリモート取得ユーザーにアクセス権を付与します。

    リモート・データベースに対して次の文を実行し、ユーザーを作成してリモート・キャプチャに必要な権限を付与します。

    CREATE USER 'username'@'host' IDENTIFIED BY 'Password'; 
    GRANT ALL PRIVILEGES ON *.* TO 'username'@'host’ WITH GRANT OPTION; 
    FLUSH PRIVILEGES;
  2. リモートのMySQLサーバーのserver_id値は0より大きくする必要があります。この値は、MySQLリモート・サーバーで次の文を発行して検証できます。

    SHOW VARIABLES LIKE ‘server_id’;

    server_idの値が0の場合は、my.cnf構成ファイルを変更して0より大きい値を設定します。

Oracle GoldenGateの構成

Oracle GoldenGate構成には、次のステップがあります。

  1. Extractのパラメータ・ファイルにリモート・データベースの接続情報を指定します。

    SOURCEDB remotedb@mysqlserver.company.com:port, USERID username, PASSWORD
    password
  2. Extractのパラメータ・ファイルの接続情報の後に、次のパラメータを追加します。

    TRANLOGOPTIONS ALTLOGDEST REMOTE

MySQL用Oracle GoldenGateリモート取得の制限

Oracle GoldenGate for MySQLとMySQLのネイティブ・レプリケーション・スレーブの共存は、次の条件と制限でサポートされています。

  • Oracle GoldenGate for MySQLのリモート・キャプチャでは、更新前後のイメージのサイズが1 GBを超える更新操作はサポートされません。

    更新操作では、更新前イメージと更新後イメージの結合サイズが1 GBを超えると、リモート取得APIがMySQLサーバーから次のエラーを取得します:
    log event entry exceeded max_allowed_packet
  • ネイティブ・レプリケーション・スレーブには、現在実行中のスレーブとは異なるserver_idを割り当てる必要があります。スレーブserver_idの値は、マスター・サーバーで次のMySQLコマンドを使用して表示できます。
    SHOW SLAVE HOSTS;
    • Oracle GoldenGate取得が、A slave with the same server_uuid or server_id as this slave has connected to the masterで異常終了した場合は、取得の名前を変更して取得を再開します。

    • ネイティブ・レプリケーション・スレーブが、A slave with the same server_uuid or server_id as this slave has connected to the masterで異常終了した場合は、ネイティブ・レプリケーション・スレーブのserver_idを変更して再起動します。

  • リモート取得は、Linuxで実行中のOracle GoldenGateでサポートされており、LinuxまたはWindowsで実行されているデータベースをサポートできます。