リモート・キャプチャのためのMySQLの構成
MySQLのためのOracle GoldenGateリモート・キャプチャ、Amazon RDS for MySQL、Amazon Aurora MySQL、Azure Database for MySQLを使用して、Oracle GoldenGateインストールにリモートに配置されているデータベースからトランザクション・ログ・データを取得します。
データベース・サーバー構成
リモート取得が機能するには、MySQLサーバーを次のように構成します。
-
Oracle GoldenGateリモート取得ユーザーにアクセス権を付与します。
リモート・データベースに対して次の文を実行し、ユーザーを作成してリモート・キャプチャに必要な権限を付与します。
CREATE USER 'username'@'host' IDENTIFIED BY 'Password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'host’ WITH GRANT OPTION; FLUSH PRIVILEGES;
-
リモートのMySQLサーバーの
server_id
値は0より大きくする必要があります。この値は、MySQLリモート・サーバーで次の文を発行して検証できます。SHOW VARIABLES LIKE ‘server_id’;
server_id
の値が0の場合は、my.cnf
構成ファイルを変更して0より大きい値を設定します。
Oracle GoldenGateの構成
Oracle GoldenGate構成には、次のステップがあります。
-
Extractのパラメータ・ファイルにリモート・データベースの接続情報を指定します。
SOURCEDB remotedb@mysqlserver.company.com:port, USERID username, PASSWORD password
-
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で実行されているデータベースをサポートできます。