Oracle GoldenGate for PostgreSQLのアップグレード
Oracle GoldenGate Microservices Architecture for PostgreSQLの最新バージョンにアップグレードするステップについて学習します。
PostgreSQLからのOracle GoldenGate CDCキャプチャ・サポートでは、WALから変更レコードを読み取るためにPostgreSQLデータベース上のレプリケーション・スロットを使用する必要があります。各CDC Extractで使用されるレプリケーション・スロット名は、Oracle GoldenGateのインストール・パスによって異なります。
アップグレード時までにExtractで変更レコードの取得が完了していなくても、アップグレード後に、既存のOracle GoldenGate環境にある同じExtractを使用して新しいOracle GoldenGate環境で変更レコードの取得を続行できます。ただし、これは、そのアップグレードに新しいOracle GoldenGateインストール・ディレクトリが使用されている場合はできなくなります。この作業を行うには、既存のOracle GoldenGateインストール・ディレクトリを使用する必要があります。
ノート:
次のステップでは、例としてExtract名extn
を使用します。
-
古い環境でOracle GoldenGate CDC Extractによって使用されていたレプリケーション・スロット名を取得します。古いレプリケーション・スロット名は、Extractレポート・ファイルから、または
INFO EXTRACT
コマンドを実行することで取得できます。古いOracle GoldenGate環境にあるExtractレポート・ファイルから。次に、Extractレポート・ファイルにあるのスニペットの例を示します:2024-01-09 11:49:38 INFO OGG-25376 Oracle GoldenGate capture 'EXTN' running with replication slot 'ext1_5d87a7db5e810943', slot type 'logical', plugin name as 'test_decoding' attached with database 'postgres' with slot restart LSN as '6/3CBFE2B8', flush LSN as '6/3CBFE2F0' and its current TXID as '7899713'.
Extractレポート・ファイルにあるレプリケーション・スロット名を書き留めます。この例では、それは
extn_5d87a7db5e810943
です。次の例で示すように、古いOracle GoldenGate環境でGGSCIまたは管理クライアントからINFO EXTRACT
コマンドを実行することもできます:
出力:GGSCI (phoenix96567 as postgres@pg12) 10> info extract extn
Extract EXT1 Last Started 2024-01-09 11:49 Status RUNNING Checkpoint Lag 00:00:45 (updated 00:00:01 ago) Process ID 3640439 VAM Read Checkpoint 2024-01-09 11:48:52.575833 Replication Slot extn_5d87a7db5e810943 is active with PID 3640450 in database postgres Slot Restart LSN 6/3CBFE2B8 Slot Flush LSN 6/3CBFE2F0 Current Log Position 6/3CBFE2F0
-
新しいOracle GoldenGate環境のOracle GoldenGate CDC Extractに関連のあるレプリケーション・スロット名を取得します。
UNREGISTER EXTRACT
コマンドを実行して新しいレプリケーション・スロット名を取得します:
出力:unregister extract extn
2024-01-09 11:43:37 INFO OGG-25354 The replication slot 'extn_6ec0db7cc27c812' for group 'EXTN' does not exist in database 'postgres'.
エラー・メッセージにあるレプリケーション・スロット名を書き留めます。この例では、それは
extn_6ec0db7cc27c812
です。 -
対応するソースPostgreSQLデータベースで次のSQL問合せを実行します(PSQLを使用可能)。
SELECT * FROM pg_copy_logical_replication_slot('old-replication-slot', 'new-replication-slot');
たとえば:SELECT * FROM pg_copy_logical_replication_slot('extn_5d87a7db5e810943', 'extn_6ec0db7cc27c812');
-
Extractチェックポイント・ファイル、証跡ファイルおよびその他の構成ファイルを古いOracle GoldenGate環境から新しい環境にコピーしてください。
-
new-replication-slot
のLSN位置がold-replication-slot
と同じであることを確認します。 -
古いOracle GoldenGate環境で
UNREGISTER EXTRACT extract_name
コマンドを実行します。たとえば:UNREGISTER EXTRACT extn
-
新しいOracle GoldenGate環境でExtractを起動して、変更レコードの取得を再開します。