通常、アプリケーション・パッチおよびアプリケーション・アップグレードでは、新規オブジェクトの追加や既存オブジェクトの変更などを伴うDDLが実行されます。Oracle GoldenGate環境でアプリケーションのパッチまたはアップグレードを適用するには、次のいずれかを実行します。
使用中のデータベースのタイプに対するDDLレプリケーションがOracle GoldenGateでサポートされている場合は、DDLレプリケーションを使用すると、レプリケーション・プロセスを停止せずにDDLをレプリケートできます。この方法を使用するには、ソース表とターゲット表の構造が同一である必要があります。
レプリケーションを継続させるための適切な手順を踏んだ後、ソースとターゲットの両方でパッチまたはアップグレードを手動で適用できます。
Oracle GoldenGateを使用してパッチのDDLをレプリケートする手順
ある程度時間をかけてOracle GoldenGateのDDLサポートについて学習し、DDLサポートのインストールと構成を行います(まだ行っていない場合)。このドキュメントで、使用中のデータベースに関する指示を参照してください。DDL環境を整えておけば、将来パッチやアップグレードを適用するのが容易になります。
アプリケーションのパッチまたはアップグレードによって追加される新規オブジェクトをデータ・レプリケーションに含める場合、必ずそれらのオブジェクトをDDL
パラメータ文に追加します。TABLE
文およびMAP
文に新しいオブジェクトを追加するには、「Oracle GoldenGate構成への表の追加」の手順を参照してください。
アプリケーションのパッチまたはアップグレードによってトリガーまたはカスケード制約がインストールされる場合、ターゲットで実行されるDMLと、ソースのトリガーまたはカスケード操作からレプリケートされる同じDDLとの間でコリジョンが発生しないように、ターゲットでそれらのオブジェクトを無効化します。
ソースおよびターゲットでパッチを手動で適用する手順
ソース・データベースへのアクセスを停止します。
Extractがトランザクション・ログに残っているトランザクション・データの取得を終了するまで待機します。Extractの終了を確認するには、EOFに到達した
ことを示すメッセージが戻されるまでGGSCIで次のコマンドを発行します。
SEND EXTRACT group
GETLAG
Extractを停止します。
STOP EXTRACT group
ソースに対するパッチの適用を開始します。
データ・ポンプ(使用している場合)およびReplicatがそれぞれの証跡に含まれるデータの処理を終了するまで待機します。それぞれの終了を確認するには、EOFに到達した
ことを示すメッセージが戻されるまで次のコマンドを使用します。
SEND EXTRACTgroup
GETLAG SEND REPLICATgroup
GETLAG
データ・ポンプおよびReplicatを停止します。
STOP EXTRACTgroup
STOP REPLICATgroup
この時点で、ソースからレプリケートされたトランザクション変更はすべてターゲットに適用されたため、ソースとターゲットのデータは同一となります。
ターゲットにパッチを適用します。
パッチによって表の定義が変更された場合、ソース表に対しDEFGENを実行して更新後のソース定義を生成し、ターゲット・システムにある既存のソース定義ファイルの古い定義を新しい定義に置き換えます。
ユーザー・アクティビティの取得を再開する準備が整ったら、Oracle GoldenGateプロセスを起動します。