ExtractプロセスおよびReplicatプロセスを追加する前に
Oracle GoldenGateデプロイメントのExtractプロセスおよびReplicatプロセスを作成する前に必要な前提条件の構成について学習します。
「構成」ページへのアクセス
Administration Serviceの左側のナビゲーション・ペインの「構成」ページからデータベース・ユーザー資格証明を設定して、Oracle GoldenGateからデータベースへの接続を構成します。
データベースの資格証明を作成して接続をテストするステップは、「データベース資格証明の追加」を参照してください。ExtractおよびReplicatプロセスでの必要に応じて、データベース資格証明を設定して複数のデータベースへの接続を設定できます。
TRANDATAの有効化
OracleおよびOracle以外のデータベースに有効です。
ソース・データベースによっては、サプリメンタル・ロギングを有効にする必要があります。これは、表、スキーマまたはグローバル(データベース)レベルで実行できます。
CDCなしの初期ロードの場合は、ADD TRANDATA
をスキップできます。
Oracle: TRANDATAまたはSCHEMATRANDATAの有効化
Oracleに有効です。
ソース・データベースによっては、サプリメンタル・ロギングを有効にする必要があります。これは、表、スキーマまたはグローバル(データベース)レベルで実行できます。
表レベルおよびスキーマ・レベルでサプリメンタル・ロギングを有効にするには、「構成」ページで次のようにします。
- 必要に応じて「表」または「スキーマ」オプションを選択し、プラス記号をクリックして追加します。
- サプリメンタル・ロギングを設定する必要がある表の名前を入力します。スキーマ名を含む完全な表名(schema.table1など)を入力してください。特定の表名のかわりにワイルドカードを使用することもできます。
- 必要に応じて、「バックグラウンドで
TRANDATA情報を追加
しますか。」オプションを選択します。 - 発行をクリックします。
トランザクション・データおよびスキーマ・レベルのトランザクション・データの設定には、コマンドADD TRANDATA
およびADD SCHEMATRANDATA
も使用できます。詳細は、「ADD TRANDATA」
および「ADD SCHEMATRANDATA」
を参照してください。CDCなしの初期ロードの場合は、ADD TRANDATA
をスキップできます。
Db2 z/OS: 変更の取得の有効化
次のステップに従って、CREATE TABLE
およびALTER TABLE
コマンドのDATA CAPTURE CHANGES
機能で提供される拡張形式でデータの変更が記録されるよう、Db2を構成します。この形式により、Oracle GoldenGateでは、更新文によって変更された行の変更前イメージと変更後イメージの全体を使用できます。
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
権限も必要になります。
チェックポイント表の追加
チェックポイント表は、パラレルでないすべてのReplicatに必要で、Replicatを追加する前にデータベースに作成する必要があります。「構成」ページの「チェックポイント」セクションからチェックポイント表を表示できます。
チェックポイント表を追加するには:
- プラス記号をクリックして、チェックポイント表の追加を有効にします。
- チェックポイント表名を次の形式で追加します
。table.checkpoint_table_name
- 発行をクリックします。チェックポイントが作成されると、チェックポイント表のリストに表示されます。
コマンド・ラインからこのタスクを実行するには、Oracle GoldenGateコマンド・ライン・インタフェース・リファレンスのADD CHECKPOINTTABLE
を参照してください。
ハートビート表の追加
ハートビート表は、データ・レプリケーション・サイクル全体のラグをモニターするために使用されます。自動ハートビートは、ハートビート・シード表およびハートビート表のレコードを更新し、ハートビート履歴表を構築することにより、各ソース・データベースからレプリケーション・ストリームに送信されます。レプリケーション・パスの各レプリケーション・プロセスがこれらのハートビート・レコードを処理して、その情報を更新します。これらのハートビート・レコードは、ターゲット・データベースでハートビート表に挿入されるか、更新されます。
ノート:
ハートビート表の作成はオプションですが、推奨されます。- Administration Serviceから、ナビゲーション・ペインの「構成」を選択します。
- 「Database」タブの「ハートビート」セクションの横にある「+」記号を選択します。ハートビート頻度、保持時間およびパージ頻度の値を入力する必要があります。
次に、管理クライアントからハートビート表を追加するステップを示します。
-
コマンドラインから管理クライアントを起動します。
-
管理クライアントからデプロイメントに接続します。
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
-
DBLOGIN USERIDALIAS
コマンドを使用して、ソース・データベースおよびターゲット・データベースに接続します。次の例は、資格証明別名ggeast
を持つソース・データベースへの接続を示しています。(https://remotehost:16000 ggdep_postgres)> DBLOGIN USERIDALIAS ggeast
-
ハートビート表を追加します。
(https://remotehost:16000 ggdep_postgres)> ADD HEARTBEATTABLE
オプションで、一方向レプリケーションにのみ使用されるターゲット専用データベースの場合、ハートビート・レコード更新関数が作成されないTARGETONLY
オプションを含めることができます。
コマンド・オプションの詳細は、「ADD HEARTBEATTABLE」
を参照してください。
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は、関数コールをスケジュールするために使用できるその他のプログラムです。
PostgreSQL: リモート・デプロイメントに関するExtractの考慮事項
リモート・デプロイメントの場合、ソース・データベースとOracle GoldenGateは個別のサーバーにインストールされます。リモート・デプロイメントは、PostgreSQL用のAzureやAmazon Aurora PostgreSQLなどのクラウド・データベースをサポートするために使用できる唯一のオプションです。
リモート・デプロイメントの場合、データベース・サーバーとOracle GoldenGateサーバーの間のオペレーティング・システムのendiannessは同じである必要があります。
Oracle GoldenGateサーバーのサーバー時間とタイムゾーンは、データベース・サーバーのものと同期されている必要があります。このことが可能でない場合は、Extractが作成または変更されたとき、その配置がLSNによって実行される必要があります。
リモート取得のユースケースでは、SQLEXEC
を使用すると、レイテンシが増加することがあります。これは、SQLEXEC
操作は、Extractによって処理されるレコードごとに順次実行する必要があるためです。SQLEXEC
を必要とする特別なフィルタリングがリモート・ハブExtractで実行され、パフォーマンスへの影響が大きすぎる場合は、Extractプロセスをソース・データベースに近づけることが必要になる場合があります。
リモート・デプロイメントではネットワーク・レイテンシが低いことが重要となり、Oracle GoldenGateサーバーとソース・データベース・サーバーの間のネットワーク・レイテンシを1ミリ秒未満にすることをお薦めします。