8 Oracle GoldenGate Classic for MySQL

MySQLプラットフォームのためのOracle GoldenGate Classic Architectureのデプロイ

Marketplace上でOracle GoldenGate Classic Architectureを使用して、単一の場所からデプロイメントをデプロイおよび管理できます。

デプロイメント前に必要な前提条件は次のとおりです。

Oracle Cloud Marketplace内でのOracle GoldenGate for Non-Oracle (MySQL)の検索

Oracle Cloud MarketplaceからOracle GoldenGate for Non-Oracle (My SQL)をデプロイする場合は、次のステップを参考にしてください。

  1. Oracle Cloud Marketplaceにログインします。
  2. Oracle Cloud Marketplaceホーム・ページから、「アプリケーション」の下の検索ボックスを使用し、GoldenGateというキーワードで検索します。
  3. 検索結果から、「Oracle GoldenGate for Non-Oracle」を選択します。

Oracle GoldenGate Classic for Non-Oracle (MySQL)の起動

Oracle Cloud MarketplaceでOracle GoldenGate Classic for Non-Oracle (MySQL)を起動する場合は、次のステップを参考にしてください。
  1. アプリケーション・ページで「Get App」を選択します。
  2. 「OCI Region」を選択するか、OCIアカウントのログイン資格証明を使用してログインします。
    1. OCI Region - 計算ノードをインストールするOCIリージョンを選択します。
    2. 「Sign In」をクリックします。
  3. 「Sign In to the Cloud Tenant」ページで、OCI テナントの詳細情報を入力します。
    アイデンティティ・プロバイダへのサインインを求められる場合があります。
  4. 「Oracle GoldenGate for Non-Oracle (MySQL)」ページで、選択ボックスを見つけて次の情報を入力します。
    1. Select Version – リストで使用可能なバージョンのリストが提供されます。デフォルトで「Oracle GoldenGate for Non-Oracle (MySQL)」に設定されています。
    2. Select Compartment - 計算ノードを構築するコンパートメントを指定します。通常、計算ノードを構築するためのアクセス権を持つ場所です。
    3. Terms of Use – このチェック・ボックスはデフォルトで選択されています。Oracleでは、インスタンスの作成に進む前にライセンスを確認することをお薦めしています。
    4. Launch Stack– OCI環境でスタックを起動します。
  5. 必要なスタック情報を入力します。
    • Name - スタックの名前。これにはデフォルト名があり、日時スタンプが指定されます。必要に応じて、この詳細を編集できます。
    • Description - スタックの作成中に指定する説明。
    • Create In Compartment - デフォルトで、Oracle GoldenGate 19c for Oracleページで選択したコンパートメントに設定されます。
    • Tags (オプション) – タグは追跡メカニズムを割り当てる便利な手段ですが、必須ではありません。簡単に追跡できるよう、任意のタグを割り当てることができます。環境によっては、原価分析目的でタグを割り当てる必要があります。
    • 「Next」をクリックします。
  6. Configure Variables」に必要な詳細を入力します。この情報は、Non-Oracle (MySQL)の計算ノードを構築する際に必要になります。
    1. Name for New Resources -
      • Display name - すべての新規OCIリソースの識別に使用される表示名。
      • Host DNS Name - 新しい計算ノードのドメイン名サービス。
    2. Network Settings -
      • Create New Network - 新規ネットワーク・リソースを作成する場合は、このチェック・ボックスを選択します。

        このチェック・ボックスを選択した場合は、「Create New Network」ウィザードが表示され、次のような新しいネットワーク情報を追加および編集できます。

        • ネットワーク・コンパートメント
        • 新規VCN DNS名
        • 新規VCN CIDR
        • 新規サブネットDNS名
        • 新規サブネットCIDR

        このチェック・ボックスを選択しない場合は、「Create New Network」ウィザードは表示されず、VCN内の既存のネットワーク・オプションを使用して計算ノードが作成されます。

      • Network Compartment (オプション)- 新規または既存のネットワーク・リソースの区分。
      • VCN (オプション)- 新規ネットワークを作成していない場合に、新規作成されたインスタンスに使用する既存のVCN。
      • Subnet (オプション)- 新規ネットワークを作成していない場合に、新規作成されたインスタンスに使用する既存のサブネット。選択したサブネットは、「Instance Settings」で設定したものと同じ可用性ドメインに一致する必要があります。
    3. Instance Settings -
      • Availability Domain - 新規に作成されたOracle GoldenGateインスタンスの可用性ドメインを指定します。「Use Existing Network」設定で選択したサブネットと一致する必要があります。
      • Compute Shape - 新規計算インスタンスのシェイプ。サポートされているシェイプは、VM.Standard2.4、VM.Standard2.8、VM.Standard2.16およびVM.Standard2.24です。
      • Assign Public IP - 新しいVMにパブリックIPアドレスが必要かどうかを示します。
      • Custom Volume Sizes - 新しいブロック記憶域ボリュームのサイズをカスタマイズするには、このチェック・ボックスを選択します。
    4. SSH Public Key -「opc」ユーザーとしてのSSHアクセスを許可するための公開キー。
  7. 「Next」をクリックします。
  8. 「Review」ページで、入力した情報を確認してから、「Create」をクリックします。
  9. 「Create」をクリックした後、「Stacks」ページに移動します。このページを使用して、計算ノードの作成を監視できます。
  10. 完了すると、「Compute」 -> 「Instancesの下でOracle GoldenGate for Non-Oracle (MySQL)計算ノードを確認できます。

Oracle GoldenGate Classic for Non-Oracle (My SQL)計算ノードへの接続

新しいOracle GoldenGateデプロイメントにアクセスするには、計算ノードにログインし、Oracle GoldenGate Software Command Interface (GGSCI)にアクセスします。そのために、Oracle GoldenGate Classic for Non-Oracle (My SQL)が実行されている計算ノードのパブリックIPアドレスを識別する必要があります。そのパブリックIPアドレスを識別するためのステップを次に示します。
  1. Oracle Cloudコンソールにログインします。
  2. 「Compute」 -> 「Instances」を選択します。
  3. 計算ノードのハイパーリンク名を選択します。パブリックIPアドレスは、「Primary VNIC Information」の下にリストされます。
  4. Oracle GoldenGateが実行されている計算ノードにアクセスするには、SSHを使用してopcアカウントとして接続します。opcアカウントを使用してノードにアクセスする方法の詳細は、インスタンスへの接続を参照してください。
公開SSHキーはデプロイメント・プロセスの一環として指定されます。Oracle GoldenGateインスタンスに接続しているときには秘密キーを使用できます。次の例は、Oracle GoldenGate計算ノードへの接続方法を示しています。
ssh -i <private-key-filename> opc@<public-id-address>

Oracle GoldenGate Classic for Non-Oracle (MySQL)の操作

Oracle Cloud MarketplaceにOracle GoldenGate Classic for Non-Oracle (My SQL)をデプロイすると、Oracle GoldenGate Classic for Non-Oracle (My SQL)の最新リリースにアクセスできます。

Oracle GoldenGate Classic for Non-Oracle (My SQL)の使用開始前に、いくつかのタスクを実行して、対象の環境がデータをレプリケートするための準備を完全に整えていることを確認する必要があります。

データ・レプリケーションを開始する前に、次のタスクを実行する必要があります。

トピック:

接続の確立

Oracle Cloud MarketplaceのOracle GoldenGate Classic for Non-Oracle (My SQL)計算ノードは、ソースおよびターゲットのMy SQLデータベースへの接続を管理できるハブとして機能します。Oracle GoldenGate Classic for Non-Oracle (My SQL)の計算ノードからオンプレミスのMy SQLデータベースへの接続を確立するには、次のオプションを使用します。

  • IPSec VPN
  • FastConnect

OCIとのIPSec VPNを設定する場合は、IPSec VPNのドキュメントを参照してください。FastConnect接続の確立については、FastConnectのドキュメントを参照してください。

Oracle GoldenGate for MySQLの要件

データのレプリケートを開始する前に、MySQLデータベースの場合は、Oracle GoldenGateのインストール・ガイドOracle GoldenGate for MySQLのインストールに関する章と、『異種データベースのためのOracle GoldenGateの使用』MySQLでサポートされる内容に関する章を参照してください。該当する項には、データベースの要件とサポートされる機能に関する重要な情報が記載されています。

リモート・キャプチャのためのソースMySQLデータベースの構成

MySQLデータベースのリモート・キャプチャをサポートするには、MySQLデータベースを次のように構成します。
  1. Oracle GoldenGateリモート・キャプチャ・ユーザーを作成してアクセス権限を付与します。

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

    mysql > CREATE USER 'sourceuser'@'dbhostname' IDENTIFIED BY 'password'; 
    mysql > GRANT ALL PRIVILEGES ON *.* TO 'sourceuser'@'dbhostname'; 
    mysql > FLUSH PRIVILEGES;

    ユーザー権限の要件に関する詳細は、『異種データベースのためのOracle GoldenGateの使用』ガイドのMySQLのOracle GoldenGateプロセスのためのデータベース・ユーザーに関する章を参照してください。

  2. リモートのMySQLサーバーのserver_id値は0より大きくする必要があります。この値は、MySQLリモート・サーバーで次の文を実行することで確認できます。
    mysql > show variables like 'server_id';

    server_idの値が0の場合は、その値が0よりも大きくなるようにmy.cnf構成ファイルを変更します。

リモート適用のためのターゲットMySQLデータベースの構成

MySQLデータベースのリモート配信をサポートするには、Oracle GoldenGate Replicatのリモート適用ユーザーを作成します。

Oracle GoldenGateリモート適用ユーザーを作成してアクセス権限を付与します。リモート・データベースで次の文を実行して、ユーザーを作成してリモート適用に必要な権限を付与します。次の例では、作成したリモート適用ユーザーに高度な権限を付与します。

mysql > CREATE USER 'targetuser'@'dbhostname' IDENTIFIED BY 'password'; 
mysql > GRANT ALL PRIVILEGES ON *.* TO 'targetuser'@'dbhostname'; 
mysql > FLUSH PRIVILEGES;

ユーザー権限の要件に関する詳細は、『異種データベースのためのOracle GoldenGateの使用』ガイドのMySQLのOracle GoldenGateプロセスのためのデータベース・ユーザーに関する章を参照してください。

GGSCIの起動

Oracle GoldenGate Classic for Non-Oracle (MySQL)を使用すると、GoldenGate Serviceコマンド・インタフェース(GGCSI)にすぐにアクセスできます。また、Managerプロセスが実行されている状態で事前定義されています。計算ノードにログインすると、GGCSIがmysqlディレクトリ(/home/opc/mysql)にあることが確認できます。
GGSCIを開始するには、次のコマンドを実行します。
$ cd mysql
$ ./ggsci

MySQLのためのリモートExtractの構成および作成

ソースMySQLデータベースからトランザクション・データをキャプチャするには、Extractと呼ばれるキャプチャ・プロセスを構成する必要があります。Extractを作成するには、Oracle GoldenGate for Non-Oracleで次のステップを実行します。
  1. Extractパラメータ・ファイルを作成します。
    
    GGSCI> EDIT PARAMS extmysql

    次に、Extractパラメータ・ファイルの例を示します。

    EXTRACT extmysql
    SOURCEDB sourcedb@dbhostname:port, USERIDALIAS name
    TRANLOGOPTIONS ALTLOGDEST REMOTE
    EXTTRAIL ./dirdat/et
    TABLE sourcedb.*;

    ファイルを保存して閉じます。

  2. ExtractとExtractのローカル証跡を追加します。

    ノート:

    Extractの追加時にBEGIN NOWオプションを指定する場合は、データベース・サーバーとOracle GoldenGateを実行しているサーバーのシステム時間が一致していることを確認してください。
    
    GGSCI> ADD EXTRACT extmysql, TRANLOG, BEGIN NOW
    GGSCI> ADD EXTTRAIL ./dirdat/et, EXTRACT extmysql
  3. MySQLソース・データベースへの接続を確認して、Extractを起動します。
    GGSCI> DBLOGIN SOURCEDB sourcedb@dbhostname:port USERIDALIAS name
    GGSCI> START EXTRACT extmysql

MySQLのためのリモートReplicatの構成および作成

Replicatと呼ばれるレプリケーションの適用プロセスは、ターゲット・データベースにデータを配信するために使用されます。Replicatを作成するには、Oracle GoldenGate for Non-Oracleを使用して次のステップを実行します。
  1. GGSCIから、ターゲット・データベースにログインしてチェックポイント表を作成します。
    GGSCI> DBLOGIN targetdb@dbhostname:port, USERIDALIAS name
    GGSCI> ADD CHECKPOINTTABLE targetdb.ggcheck
  2. Replicatパラメータ・ファイルを作成します。
    GGSCI > EDIT PARAMS repsql

    次に、Replicatパラメータ・ファイルの例を示します。

    REPLICAT repmysql
    TARGETDB targetdb@dbhostname:port, USERIDALIAS name
    MAP sourcedb.table1, TARGET targetdb.table1;
    MAP sourcedb.table2, TARGET targetdb.table2;

    ファイルを保存して閉じます。

  3. Replicatを追加して起動します。
    GGSCI> ADD REPLICAT repmysql, EXTTRAIL ./dirdat/et, CHECKPOINTTABLE targetdb.ggcheck
    GGSCI> START REPLICAT repmysql