Extractを追加する前に

Extractの追加の前提条件について学習します。

トピック:

Extractの登録

OracleおよびPostgreSQLで有効です。

OracleデータベースとPostgreSQLデータベースには、Extractの登録が必要です。

トピック:

Oracle用のExtractの登録

次の手順に従って、Extractを登録します。Extractの登録は、Extractを作成する前に実行する必要があります。詳細は、Oracle GoldenGateコマンド・ライン・インタフェース・リファレンスREGISTER EXTRACTを参照してください。

  1. 管理クライアントを使用してデプロイメントに接続してから、ソース・データベースの資格証明別名に接続します。
    CONNECT https://remotehost:srvmgrport DEPLOYMENT deployment_name AS deployment_user PASSWORD deployment_password
    
    OGG (https://remotehost:16000oracle_source)> DBLOGIN USERIDALIAS alias
  2. Extractを登録します。これにより、Extractのレプリケーション・スロットが内部的に作成されます。Extract名は、英数字8文字を超えることはできません。
    OGG (https://remotehost:16000oracle_source)> REGISTER EXTRACT extname

Oracle GoldenGate MA WebインタフェースからExtractを登録することもできます。「プライマリExtractの追加」を参照してください。

PostgreSQL用のMicroservices ArchitectureへのExtractの登録

PostgreSQLのExtractは、データベースに登録して、予約済レプリケーション・スロットを付与する必要があります。レプリケーション・スロットは、データベース構成設定max_replication_slotsを介して割り当てられ、データベース構成の説明に従って構成できます。

次の手順に従って、Extractを登録します。Extractの登録は、Extractを作成する前に実行する必要があります。詳細は、Oracle GoldenGateコマンド・ライン・インタフェース・リファレンスREGISTER EXTRACTを参照してください。

  1. 管理クライアントを使用してデプロイメントに接続してから、ソース・データベースの資格証明別名に接続します。
    OGG> CONNECT https://remotehost:srvmgrport DEPLOYMENT
              deployment_name AS deployment_user PASSWORD deployment_password
    
    OGG (https://remotehost:16000postgresql_source)> DBLOGIN USERIDALIAS alias
  2. Extractを登録します。これにより、Extractのレプリケーション・スロットが内部的に作成されます。Extract名は、英数字8文字を超えることはできません。
    OGG (https://remotehost:16000postgresql_source)> REGISTER EXTRACT extname

Oracle GoldenGate MA WebインタフェースからExtractを登録することもできます。「プライマリExtractの追加」を参照してください。

「構成」ページへのアクセス

Administration Serviceの左側のナビゲーション・ペインの「構成」ページからデータベース・ユーザー資格証明を設定して、Oracle GoldenGateからデータベースへの接続を構成します。

データベースの資格証明を作成して接続をテストするステップは、「データベース資格証明の追加」を参照してください。ExtractおよびReplicatプロセスでの必要に応じて、データベース資格証明を設定して複数のデータベースへの接続を設定できます。

データベース資格証明の追加

ExtractおよびReplicatプロセスの作業データベース資格証明が必要です。

  1. Administration Serviceインタフェースを起動してログインします。

  2. 「アプリケーション・ナビゲーション」ペインで「構成」をクリックします。

  3. 資格証明の横にあるプラス記号(+)をクリックします。

  4. 表示されたフィールドに次の詳細を入力します。

    データベース資格証明オプション 説明

    資格証明ドメイン

    データベース資格証明を関連付けるドメイン名を指定します。たとえば、ドメイン名を指定しない場合は、OracleGoldenGateがデフォルトのドメイン名となります。

    資格証明別名

    これはデータベース資格証明の別名です。

    ユーザーID

    データベース・ユーザーのユーザー名です。

    Oracleデータベースの場合、EZconnect構文を使用してデータベースに接続するときは、このフィールドの値を次のように指定できます。

    dbusername@hostname:port/service_name

    dbusernameは、データベース・ユーザー名です。

    そのデータベースが実行されているサーバーのhostnameまたはIPアドレス。

    portは、データベース・サーバーに接続するためのポート番号です。通常、この値は1521です。

    service_nameは、データベース接続のtnsnames.oraファイル内で指定されているサービスの名前です。

    パスワード

    データベース・ユーザーがデータベースにログインするために使用するパスワード。

  5. 発行をクリックします。

  6. データベースに接続アイコンをクリックして、接続が正しく機能していることをテストします。接続に成功すると、データベースに接続アイコンが青に変わります。接続が成功すると、チェックポイント表とハートビート表を設定するためのセクションも表示されます。

TRANDATAの有効化

OracleおよびOracle以外のデータベースに有効です。

ソース・データベースによっては、サプリメンタル・ロギングを有効にする必要があります。これは、表、スキーマまたはグローバル(データベース)レベルで実行できます。

CDCなしの初期ロードの場合は、ADD TRANDATAをスキップできます。

トピック:

Oracle: TRANDATAまたはSCHEMATRANDATAの有効化

Oracleに有効です。

ソース・データベースによっては、サプリメンタル・ロギングを有効にする必要があります。これは、表、スキーマまたはグローバル(データベース)レベルで実行できます。

表レベルおよびスキーマ・レベルでサプリメンタル・ロギングを有効にするには、「構成」ページで次のようにします。

  1. 必要に応じて「表」または「スキーマ」オプションを選択し、プラス記号をクリックして追加します。
  2. サプリメンタル・ロギングを設定する必要がある表の名前を入力します。スキーマ名を含む完全な表名(schema.table1など)を入力してください。特定の表名のかわりにワイルドカードを使用することもできます。
  3. 必要に応じて、「バックグラウンドでTRANDATA情報を追加しますか。」オプションを選択します。
  4. 発行をクリックします。

トランザクション・データおよびスキーマ・レベルのトランザクション・データの設定には、コマンドADD TRANDATAおよびADD SCHEMATRANDATAも使用できます。詳細は、「ADD TRANDATA」および「ADD SCHEMATRANDATA」を参照してください。CDCなしの初期ロードの場合は、ADD TRANDATAをスキップできます。

Db2 z/OS: 変更の取得の有効化

次のステップに従って、CREATE TABLEおよびALTER TABLEコマンドのDATA CAPTURE CHANGES機能で提供される拡張形式でデータの変更が記録されるよう、Db2を構成します。この形式により、Oracle GoldenGateでは、更新文によって変更された行の変更前イメージと変更後イメージの全体を使用できます。

  1. Oracle GoldenGateディレクトリから管理クライアントを起動します。
  2. ALTER TABLE権限を持つユーザーとしてDb2にログオンします。
    DBLOGIN SOURCEDB DSN, USERID user[, PASSWORD password][, encryption_options]
    
  3. 次のコマンドを発行します。tableは表の完全修飾名です。ワイルドカードを使用して複数の表の名前を指定できますが、所有者名には使用できません。
    ADD TRANDATA table

    デフォルトでは、ADD TRANDATAによって次のコマンドが発行されます。

    ALTER TABLE name DATA CAPTURE CHANGES;

SQL Server: サプリメンタル・ロギングなどの機能の有効化

データベース・ユーザーは、Oracle GoldenGate構成内のソース・データベースに対してサプリメンタル・ロギングを有効にするために、ADD TRANDATAコマンドを発行する必要があります。データベース・ログイン・コマンド(DBLOGIN)は、ADD TRANDATAの発行前にコマンドライン・インタフェースから発行されます。

  • TRANDATAを有効にするデータベース・ユーザーには、sysadmin権限が付与されている必要があります。

Extractはdbowner権限で実行できます。ただし、ADD/ALTER/ DELETE/INFO HEARTBEATTABLEコマンドを発行する場合や、ogg_cdc_cleanup_setup.batバッチ・ファイルを使用してOracle GoldenGate CDCクリーン・アップ・ジョブを作成する場合には、sysadmin権限も必要になります。

ハートビート表の追加

ハートビート表は、データ・レプリケーション・サイクル全体のラグをモニターするために使用されます。自動ハートビートは、ハートビート・シード表およびハートビート表のレコードを更新し、ハートビート履歴表を構築することにより、各ソース・データベースからレプリケーション・ストリームに送信されます。レプリケーション・パスの各レプリケーション・プロセスがこれらのハートビート・レコードを処理して、その情報を更新します。これらのハートビート・レコードは、ターゲット・データベースでハートビート表に挿入されるか、更新されます。

ハートビート表を作成するには、ソースおよびターゲット・システムで次のステップを実行します。

ノート:

ハートビート表の作成はオプションですが、推奨されます。
  1. Administration Serviceから、ナビゲーション・ペインの「構成」を選択します。
  2. 「Database」タブの「ハートビート」セクションの横にある「+」記号を選択します。ハートビート頻度、保持時間およびパージ頻度の値を入力する必要があります。

次に、管理クライアントからハートビート表を追加するステップを示します。

  1. コマンドラインから管理クライアントを起動します。

  2. 管理クライアントからデプロイメントに接続します。

    CONNECT https://remotehost:srvmgrport DEPLOYMENT deployment_name AS deployment_user PASSWORD deployment_password
    次に例を示します。
    CONNECT https://remotehost:16000 DEPLOYMENT ggdep_postgres AS ggadmin PASSWORD P@ssWord
  3. DBLOGIN USERIDALIASコマンドを使用して、ソース・データベースおよびターゲット・データベースに接続します。次の例は、資格証明別名ggeastを持つソース・データベースへの接続を示しています。
    (https://remotehost:16000 ggdep_postgres)> DBLOGIN USERIDALIAS ggeast
  4. ハートビート表を追加します。

    (https://remotehost:16000 ggdep_postgres)> ADD HEARTBEATTABLE 

オプションで、一方向レプリケーションにのみ使用されるターゲット専用データベースの場合、ハートビート・レコード更新関数が作成されないTARGETONLYオプションを含めることができます。

コマンド・オプションの詳細は、「ADD HEARTBEATTABLE」を参照してください。

トピック:

Oracle GoldenGate CDCクリーン・アップ・タスクの作成

SQL Serverユーザーの場合、Extractを追加する前にOracle GoldenGate CDCクリーン・アップ・タスクを作成する必要があります。これを行うには、Oracle GoldenGate CDCクリーン・アップ・プロセスの詳細のステップを実行します

PostgreSQLに対するハートビート更新関数およびパージ関数の実行

Oracle GoldenGate for PostgreSQLではハートビート表構成がサポートされ、更新およびパージのタスクに関していくつかの制限事項があります。

ハートビート表および関連する関数はADD HEARTBEATTABLEコマンドから作成されますが、PostgreSQLの場合、関数をコールする自動スケジューラはありません。

1つの主要な関数によって、ハートビート・レコード更新関数とハートビート履歴表パージ関数の両方が制御されます。これら両方の機能のデフォルト設定は、更新頻度が60秒、履歴レコードのパージが1日となり、デフォルトでは、30日前より古いすべてのレコードが削除されます。

メインのハートビート・レコード関数を呼び出すには、次を実行するオペレーティング・システム・レベルのジョブを作成する必要があります
“select ggschema.gg_hb_job_run();”
。この関数がコールされると、更新頻度設定と履歴レコードのパージ設定が考慮され、関数コールのスケジューラ設定に関係なく、これらの値が使用されます。

たとえば、ユーザーは次の構文を使用してCronジョブを作成し、毎分実行できます。

*****PGPASSWORD="gguserpasswd" psql -U gguser -d dbname -h remotehost -p 5432 -c "select ggschema.gg_hb_job_run();" >/dev/null
 2>&1

Windowsタスク・スケジューラ、pgAdminまたはpg_cronは、関数コールをスケジュールするために使用できるその他のプログラムです。

チェックポイント表の追加

チェックポイント表は、チェックポイント・セクション内で表示できます。ターゲット・システムのチェックポイント表を追加する場合:
  1. プラス記号をクリックして、チェックポイント表の追加を有効にします。
  2. チェックポイント表名を次の形式で追加します
    table.checkpoint_table_name
  3. 発行をクリックします。チェックポイントが作成されると、チェックポイント表のリストに表示されます。

コマンド・ラインからこのタスクを実行するには、Oracle GoldenGateコマンド・ライン・インタフェース・リファレンスADD CHECKPOINTTABLEを参照してください。