アプリケーション・パッチの実行
通常、アプリケーション・パッチおよびアプリケーション・アップグレードでは、新規オブジェクトの追加や既存オブジェクトの変更などを伴う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 EXTRACT
group
GETLAG SEND REPLICATgroup
GETLAG -
データ・ポンプおよびReplicatを停止します。
STOP EXTRACT
group
STOP REPLICATgroup
この時点で、ソースからレプリケートされたトランザクション変更はすべてターゲットに適用されたため、ソースとターゲットのデータは同一となります。
-
ターゲットにパッチを適用します。
-
パッチによって表の定義が変更された場合、ソース表に対しDEFGENを実行して更新後のソース定義を生成し、ターゲット・システムにある既存のソース定義ファイルの古い定義を新しい定義に置き換えます。
-
ユーザー・アクティビティの取得を再開する準備が整ったら、Oracle GoldenGateプロセスを起動します。