機械翻訳について

PostgreSQLからAutonomous Transaction Processingへのデータのレプリケート

OCI GoldenGateを使用して、PostgreSQLサーバー・データベースからAutonomous Transaction Processingにデータをレプリケートする方法について学習します

始める前に

このクイック・アラートを正常に完了するには、次のものが必要です:

環境設定: PostgreSQL

このクイックスタートの環境を設定するには:
  1. PostgreSQLのインストールに対して次のコマンドを実行します。
    1. PostgreSQLサーバーをインストールします:
      sudo yum install postgresql-server
    2. このSQL例外を避けるためにpostgresql-contribモジュールをインストールします:
      sudo yum install postgresql-contrib
    3. 新しいPostgreSQLデータベース・クラスタを作成します:
      sudo postgresql-setup --initdb
    4. postgresql.serviceを有効にします:
      sudo systemctl enable postgresql.service
    5. postgresql.serviceを起動します:
      sudo systemctl start postgresql.service
  2. デフォルトでは、PostgreSQLはローカル接続のみを許可します。 「PostgreSQLへのリモート接続を許可」
    1. /var/lib/pgsql/data/postgresql.confで、レプリケーション用のデータベースを準備します。
    2. listen_addresses = 'localhost'を見つけてコメントを解除し、localhostをアスタリスク(*)に変更します:
      listen_addresses = '*'
    3. 次のパラメータを次のように設定します:
      • wal_level = logical
      • max_replication_slots = 1
      • max_wal_senders = 1
      • track_commit_timestamp = on

      ノート:

      Oracle GoldenGateホストからの接続を許可するようにクライアント認証が設定されるように、/var/lib/pgsql/data/pg_hba.confを構成します。 たとえば、次のように追加します:
      #Allow connections from remote hosts
      host    all    all    0.0.0.0/0    md5
      詳細については、「pg_hba.confファイル」を参照してください。
    4. PostgreSQLサーバーを再起動します:
      sudo systemctl restart postgresql.service
  3. Oracle Cloud Computeを使用してPostgreSQLをホストする場合は、ポート5432を開きます:
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --reload
    sudo firewall-cmd --list-all
  4. VCNセキュリティ・リストでポート5432を開きます。
  5. PostgreSQLに接続
    > sudo su - postgres
    > psql

    ノート:

    または、前述の例が機能しない場合は、sudo su - postgres psqlと入力できます。
  6. PostgreSQLを設定します。
    1. seedSRCOCIGGLL_PostgreSQL.sqlをダウンロードして実行し、データベースを設定し、サンプル・データをロードします。
    2. 次のコマンドを実行してユーザーを設定します(<password>を実際のパスワードに置き換えてください):
      create user ggadmin with password '<password>';
      alter user ggadmin with SUPERUSER;
      GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin;

環境設定: Autonomous Transaction Processing (ATP)

  1. サンプル・データベース・スキーマをダウンロードして解凍します。
  2. GGADMINユーザーのロックを解除します。
    1. Oracle Cloudコンソールで、Autonomous DatabasesページからATPインスタンスを選択して詳細を表示し、データベース・アクションにアクセスします。
    2. 「データベース・アクション」をクリックし、「データベース・ユーザー」を次にクリックします。
    3. GGADMINを見つけ、その省略記号メニュー(3つのドット)をクリックして「編集」を選択します。
    4. 「ユーザーの編集」パネルで、GGADMINパスワードを入力し、パスワードを確認してから、「アカウントはロックされています」の選択を解除します。
    5. 「変更の適用」をクリックします。
  3. ターゲット・サンプル・スキーマおよびデータをロードします。
    1. 「データベース・アクション」メニューから、SQLを選択します。
    2. OCIGGLL_OCIGGS_SETUP_USERS_ADW.sqlからスクリプトをコピーしてSQLワークシートに貼り付けます。
    3. 「スクリプトの実行」をクリックします。 「スクリプトの出力」タブには、確認メッセージが表示されます。
    4. SQLワークシートをクリアし、OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sqlからSQLをコピーして貼り付けます。
    5. 表が正常に作成されたことを確認するには、SQLウィンドウを閉じて再度開きます。 ナビゲータ・タブで、SRC_OCIGGLLスキーマを探し、それぞれのドロップダウンから表を選択します。

タスク1: OCI GoldenGateリソースの作成

このクイックスタートの例では、ソースとターゲットの両方のデプロイメントおよび接続が必要です。
  1. ソースPostgreSQLデータベースのデプロイメントを作成します。
  2. ターゲットAutonomous Transaction Processingインスタンスのデプロイメントを作成します。
  3. ソースPostgreSQLデータベースへの接続を作成します。
    1. 「タイプ」で、必ず「PostgreSQLサーバー」を選択します。
    2. 「データベース名」には、ociggllと入力します。
    3. 「ホスト」に、PostgreSQLが実行されるコンピュート・インスタンスのパブリックIPを入力します。
    4. 「ポート」には、5432と入力します。
    5. 「ユーザー名」には、ggadminと入力します。
    6. 「パスワード」に、パスワードを入力します。
    7. 「セキュリティ・プロトコル」で、「プレーン」を選択します。
  4. ターゲットAutonomous Transaction Processingインスタンスの接続の作成
  5. GoldenGateへの接続を作成し、次にこの接続をソースのPostgreSQLデプロイメントに割り当てます
  6. ソース接続をソースのPostgreSQLデプロイメントに割り当てます
  7. ターゲット接続をターゲットOracleデプロイメントに割り当てます

タスク2: サプリメンタル・ロギングの有効化

サプリメンタル・ロギングの有効化の手順:
  1. PostgreSQL GoldenGateデプロイメント・コンソールを起動します:
    1. デプロイメント・ページで、PostgreSQLデプロイメントを選択して詳細を表示します。
    2. PostgreSQLデプロイメントの詳細ページで、「コンソールの起動」をクリックします。
    3. デプロイメント・コンソールのサインイン・ページで、タスク1のステップ1で指定したGoldenGate管理資格証明を入力します。
  2. GoldenGate 23aiで、左側のナビゲーションで「DB接続」をクリックし、ソースPostgreSQLデータベース、「Trandata」の順にクリックします。
  3. 「TRANDATA」ページの「TRANDATA情報」の横にある「Trandataの追加」 (プラス・アイコン)をクリックします。
  4. 「Trandata」パネルで、「スキーマ名」src_ociggll.*と入力し、「送信」をクリックします。

    ノート:

    検索フィールドを使用してsrc_ociggllを検索し、表が追加されたことを確認します。

タスク3: 「抽出」の作成

  1. 変更データ取得抽出を追加します:
    1. 左側のナビゲーションで、「抽出」をクリック
    2. 抽出ページで、抽出」の追加(プラス・アイコン)をクリックし、次のようにフィールドに入力します:
      • 「情報の抽出」ページで、次の手順を実行します:
        1. 「抽出」で、チェンジ・データ・キャプチャ「抽出」を選択します。
        2. 「プロセス名」には、「抽出」の名前(ECDCなど)を入力します。
        3. 「次へ」をクリックします。
      • 「抽出」オプション・ページで、次の手順を実行します:
        1. ソース資格証明で、「ドメイン」ドロップダウンからOracle GoldenGateを選択
        2. 「別名」ドロップダウンから、ソースPostgreSQLデータベースを選択します。
        3. 「抽出」トレイル名に、C1などの2文字のトレイル名を入力します。
        4. 「次へ」をクリックします。
      • 「抽出」パラメータ・ページで、MAP *.*, TARGET *.*;を次のように置き換えます:
        TABLE SRC_OCIGGLL.*;
    3. 「Create and Run」をクリックします
  2. 初期ロード抽出を追加します:
    1. 「Extract」ページで、抽出の追加」をクリックし、「抽出の追加」フォームに次のように入力します:
      • 「抽出」の「情報」ページで、次の手順を実行します:
        1. 「抽出」タイプで、初期ロード「抽出」を選択します。
        2. 「プロセス名」に、EILなどの名前を入力します。
        3. 「次へ」をクリックします。
      • 「抽出」オプション・ページで、次の手順を実行します:
        1. 「ソース資格証明」で、「ドメイン」ドロップダウンからOracle GoldenGateを選択します。
        2. 「別名」のドロップダウンからPostgreSQLデータベースを選択します。
        3. 「抽出」トレイル名に、I1などの2文字のトレイル名を入力します。
        4. 「次へ」をクリックします。
      • 「抽出」の「パラメータ」ページで、テキスト領域の内容を次のように置き換えます:
        EXTRACT EIL
        USERIDALIAS PostgreSQL_Compute, DOMAIN OracleGoldenGate
        EXTFILE I1, PURGE
        TABLE src_ociggll.*;

        ノート:

        移動する前に、USERIDALIASの前にあるSOURCEDBパラメータを削除してください。
    2. 「Create and Run」をクリックします
「抽出」ページに戻り、「抽出」の開始を確認できます。

タスク4: 「初期ロード」 「抽出」「分散パス」を作成

  1. 「デプロイメント」ページで、「ターゲット」 Autonomous Databaseデプロイメントを選択します。
  2. デプロイメントの詳細ページで、「コンソールを起動」をクリックし、管理者ユーザーとしてログインします。
  3. IAM資格証明ストアを使用している場合は、「分散パス」の作成ステップに進みます。 GoldenGate資格証明ストアを使用する場合は、ソースGoldenGateがターゲットGoldenGateへの接続に使用するユーザーを作成します。
    1. ナビゲーション・メニューで、「ユーザー管理」をクリックします。
    2. 新しいユーザーを追加 (プラス・アイコン)をクリックし、次のようにフィールドに入力して、送信をクリックします:
      • 「ユーザー名」には、ggsnetと入力します。
      • 「ロール」で、「オペレータ」を選択します。
      • 確認のためにパスワードを2回入力します。
  4. 「ソース」 PostgreSQLデプロイメント・コンソールで、前のステップで作成したユーザーのパス接続を作成します。
    1. ナビゲーション・メニューで、「パス接続」をクリックします。
    2. パス接続の追加 (プラス・アイコン)をクリックし、次のようにフィールドに入力して、送信をクリックします:
      • 資格証明別名に、dpuserと入力します。
      • ユーザーIDに、ggsnetと入力
      • Passwordに、前のステップで使用したものと同じパスワードを入力します。
  5. 「分散パス」を作成します。
    1. サービス・メニュー・バーで、「分散サービス」をクリックし、分散パスの追加」 (プラス・アイコン)をクリックします。
    2. 次のように「パスの追加」フォームに入力します:
      • 「パスの情報」ページで、次の手順を実行します:
        1. 「パス名」には、このパスの名前を入力します。
        2. 「次へ」をクリックします。
      • 「ソース・オプション」ページで、次の手順を実行します:
        1. ソース「抽出」では、空白のままにします。
        2. 「トレイル名」に、「初期ロード抽出」証跡名(I1)を入力します。
        3. 「次へ」をクリックします。
      • 「ターゲット・オプション」ページで、次の手順を実行します:
        1. 「ターゲット」で、wssを選択します。
        2. 「ターゲット・ホスト」に、ターゲット・デプロイメントURLをhttps://または末尾のスラッシュなしで入力します。
        3. 「ポート番号」には、443と入力します。
        4. 「トレイル名」には、I1と入力します。
        5. 「ターゲット認証メソッド」で、「UserID別名」を選択します。
        6. 「ドメイン」には、前のステップで作成したドメイン名を入力します。
        7. 「別名」に、前のステップ(dpuser)で作成した別名を入力します。
        8. 「次へ」をクリックします。
    3. 「Create and Run」をクリックします
    「分散サービス」ページに戻り、作成したパスを確認できます。
  6. ターゲット Autonomous Databaseデプロイメント・コンソールで、分散パスの結果として作成されたレシーバ・パスを確認します:
    1. 「受信サービス」をクリックします。
    2. 「分散パス」の詳細を確認します。

タスク5: 「初期ロード」Replicatを追加

  1. 「ターゲット」 Autonomous Databaseデプロイメントで、「チェックポイント」表を追加します。
    1. ナビゲーション・メニューで、「DB接続」をクリック
    2. ターゲットのAutonomous Databaseインスタンスを選択し、「チェックポイント」を選択します。
    3. 「チェックポイント」ページで、「チェックポイントの追加」 (プラス・アイコン)をクリックします。
    4. 「チェックポイント」パネルの「スキーマ表」に、SRCMIRROR_OCIGGLL.CHECKTABLEと入力します。
    5. 「送信」をクリックします。
  2. Replicatを追加します。
    1. ナビゲーション・メニューで、Replicatsをクリックします。
    2. Replicatsページで、Replicatの追加(プラス・アイコン)をクリックし、次のように「Replicatの追加」フィールドに入力します:
      • Replicatの「情報」ページで、次の手順を実行します:
        1. Replicatで、「非統合Replicat」を選択します。
        2. 「プロセス名」には、RILなどの名前を入力します。
        3. 「Next」をクリックします
      • Replicatオプション・ページで、次の手順を実行します:
        1. Replicatトレイル名に、タスク2からのトレイルの名前を入力します( I1)。
        2. 「ターゲット資格証明」で、Autonomous Database接続の「ドメイン」および「別名」を選択します。
        3. 「チェックポイント表」で、ステップ1で作成したチェックポイント表を選択します。
        4. 「次へ」をクリックします。
      • 「パラメータ・ファイル」ページで、MAP *.*, TARGET *.*;を次のように置き換えます:
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. 「Create and Run」をクリックします
      Replicatsページに戻り、Replicatの詳細を確認できます。
  3. Replicat ( RIL)を選択し、その「詳細」を表示します。
  4. 「統計」をクリックして、挿入の数を確認します。 ページをリフレッシュしてください。
    • 挿入の数が変更されない場合は、「初期ロード」のすべてのレコードがロードされ、Replicat ( RIL)を停止できます
    • 挿入の数が増え続ける場合は、「初期ロード」レコードがすべてロードされるまでページをリフレッシュし続けてから続行します。
  5. 「初期ロード」を確認します。
    1. 「Oracle Cloudコンソール」のAutonomous Database詳細ページで、「データベース・アクション」をクリックし、SQLをクリックします。
    2. SQLツールで、次の各文をワークシートに入力し、文の実行をクリックします:
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY;
      SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
    出力では、「初期ロード」の結果としてターゲット・データベース表にロードされたデータが返されます。

タスク6: 「変更データ取得抽出」「分散パス」を作成

  1. 「ソース」 PostgreSQLデプロイメント・コンソールで、「分散サービス」をクリックします。
  2. 「分散パス」の追加をクリックします。
  3. 次のように「パスの追加」フォームに入力します:
    1. 「パスの情報」ページで、次の手順を実行します:
      1. 「パス名」に、名前を入力します。
      2. 「次へ」をクリックします。
    2. 「ソース・オプション」ページで、次の手順を実行します:
      1. ソース「抽出」で、「変更データ取得抽出」 (ECDC))を選択します。
      2. 「トレイル名」で、「変更データ取得」証跡ファイル(C1)を選択します。
      3. 「次へ」をクリックします。
    3. 「ターゲット・オプション」ページで、次の手順を実行します:
      1. 「ターゲット」で、wssを選択します。
      2. 「ターゲット・ホスト」に、ターゲット・デプロイメント・コンソールのURLを入力します(これは、デプロイメントの詳細ページで、https://または末尾のスラッシュを使用せずに確認できます)。
      3. 「ポート番号」には、443と入力します。
      4. 「トレイル名」には、C1と入力します。
      5. 「ターゲット認証メソッド」で、「UserID別名」を選択します。
      6. 「ドメイン」に、ドメイン名を入力します。
      7. 「別名」に、別名を入力します。
    4. 「パスの作成および実行」をクリックします。
  4. ターゲットのAutonomous Databaseデプロイメント・コンソールで、「レシーバ・サービス」をクリックし、作成されたレシーバ・パスを確認します。

タスク7: 「変更データ取得」Replicatを追加

  1. 「ターゲット」 Autonomous Databaseデプロイメント・コンソールで、Replicatを追加します。
    1. 管理サービスのナビゲーション・メニューで、Replicatsをクリックします。
    2. Replicatsページで、「Replicatの追加」(プラス・アイコン)をクリックし、「Replicatの追加」フォームに次のように入力します:
      • 「Replicat情報」ページで、次の手順を実行します:
        1. Replicatで、「非統合Replicat」を選択します。
        2. 「プロセス名」には、RCDCなどの名前を入力します。
        3. 「次へ」をクリックします。
      • Replicatオプション・ページで、次の手順を実行します:
        1. Replicatトレイル名に、タスク3からのトレイルの名前を入力します( C1)。
        2. 「ターゲット資格証明」で、Autonomous Database接続のドメインと別名を選択します。
        3. 「チェックポイント表」で、チェックポイント表を選択します。
      • Replicatパラメータ・ページで、MAP *.*, TARGET *.*;を次のマッピングに置き換えます:
        MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
    3. 「作成」をクリックします。 Replicatを実行しないでください。
  2. Replicatsページで、「初期ロード」 (RIL)のReplicatを選択し、その「詳細」を表示します。
  3. 「統計」をクリックして、挿入の数を確認します。 ページをリフレッシュしてください。
    • 挿入の数が変更されない場合は、「初期ロード」のすべてのレコードがロードされ、Replicat (RIL)を停止できます
    • 挿入の数が増え続ける場合は、「初期ロード」レコードがすべてロードされるまでページをリフレッシュし続けてから続行します。

    ノート:

    挿入が表示されない場合は、「パフォーマンス・メトリック・サービス」をクリックし、「抽出」を選択して、「データベースの統計」をクリックします。
  4. Replicatsページに戻り、「変更データ取得」 (RCDC)のReplicatを起動します。
  5. 「変更データ取得」Replicatを起動した後、その「詳細」および「統計」を確認して、挿入の数を表示します。
  6. レプリケーションの検証:
    1. 次のスクリプトを実行して、PostgreSQLデータベースへの挿入を実行します:
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    2. ソースのPostgreSQLデプロイメント・コンソールで、「変更データ取得抽出」 (ECDC)を選択し、「統計」をクリックします。 src_ociggll.src_cityに10個の挿入があることを確認します。

      ノート:

      「抽出」が挿入を取得しなかった場合は、ECDC 「抽出」を再起動します。
    3. ターゲットのAutonomous Databaseデプロイメント・コンソールで、Replicat名(RCDC)を選択し、その「詳細」を表示し、「統計」を確認します。 SRCMIRROR_OCIGGLL.SRC_CITYに10個の挿入があることを確認します。

タスク8: プロセスの監視と保守

  1. パフォーマンスのモニター
  2. 証跡ファイルの管理