異種データベースのためのOracle GoldenGateのアップグレード

ExtractとReplicatの両方ではなく、どちらか1つのみをアップグレードする場合でも、アップグレードにはすべてのプロセスが関係します。どのコンポーネントをアップグレードするかに関係なく、すべてのプロセスをアップグレードの適切な順序で停止し、空になるまで証跡を処理する必要があります。

  1. (ソースおよびターゲット・システム)ソース・システムとターゲット・システムの現在のOracle GoldenGateインストール・ディレクトリと、クラスタ内の共有ドライブにインストールしたすべての作業ディレクトリ(該当する場合)をバックアップします。

  2. (必要に応じて、ソースおよびターゲット・システム)それぞれのシステムの新しいディレクトリ(現行のOracle GoldenGateディレクトリではありません)に、Oracle GoldenGateのアップグレード・ビルドを展開します。サブディレクトリは作成しないでください。インストール・ファイルが展開されるまでのステップを完了します。

  3. Oracle GoldenGate構成内のオブジェクト上でDMLとDDLを生成するすべてのユーザー・アクティビティを停止し、データベースに対する未処理のオープン・トランザクションがないことを確認します。

    ソース・システムのSQL Server CDC Extractの場合、データベースのCDCキャプチャ・ジョブを手動で停止します。

  4. (ソース・システム)ソース・システム上のGGSCIで、トランザクション・ログ内に処理するデータが残っていないことを示すYESが表示されるまで、LOGENDオプションを指定してSEND EXTRACTコマンドを発行します。

    ソース・システムのSQL Server CDC Extractの場合、SEND EXTRACT group STATUSを数秒間繰り返し実行して、Extractの現在の読取り位置が更新されていないことをモニターし、現在の読取り位置のLSN値が更新されていないことを確認します。

    GGSCI> SEND EXTRACT group LOGEND

  5. (ソース・システム) GGSCIで、Extractとデータ・ポンプを停止します。

    GGSCI> STOP EXTRACT group

  6. (ターゲット・システム)各ターゲット・システムのGGSCIで、証跡のすべてのデータの処理が完了したことを示す"At EOF"ステータスが表示されるまで、STATUSオプションを指定したSEND REPLICATコマンドを発行します。すべてのReplicatプロセスが"At EOF"を戻すまで、すべてのターゲット・システムでこれを行う必要があります。

    GGSCI> SEND REPLICAT group STATUS

  7. (ターゲット・システム) GGSCIで、すべてのReplicatプロセスを停止します。

    GGSCI> STOP REPLICAT group

  8. (ソース・システムおよびターゲット・システム) GGSCIでソース・システム上とターゲット・システム上のManagerを停止し、GGSCIを閉じます。

    GGSCI> STOP MANAGER

  9. ソースまたはターゲット・データベース、あるいは両方をアップグレードする場合は、そのデータベース用に提示されたアップグレード手順に従って、この時点で実行します。アップグレード後にデータベースを起動しますが、Oracle GoldenGate構成内のオブジェクトに対するトランザクションは許可しないでください。

    MySQLの場合は、Oracle GoldenGate 19c (19.1.0)からのアップグレードであり、データベースがMySQL 5.7なら、変更は必要ありません。ただし、Oracle GoldenGate 19c (19.1.0)からのアップグレードであり、データベースがMySQL 8.0である場合は、次のステップを実行する必要があります。
    1. DDLまたはDMLレプリケーションに関係なく、メタデータすべてのロギングを有効にします(MySQL 8.0以上では必要なため)。メタデータすべてのロギングは、MySQL構成ファイル(Linuxの場合はmy.cnf、Windowsの場合はmy.ini)内でMySQLサーバー変数binlog_row_metadataの値をFULLに設定することで有効化できます。設定を有効にするには、構成ファイルの変更後にサーバーをバウンスする必要があります。

    2. DDLレプリケーションが以前に有効になっていた場合は、DDLアンインストール・スクリプトを実行して古いDDLソリューションを無効にします。

      スクリプト名:

      Windowsの場合: ddl_install.bat

      Linuxの場合: ddl_install.sh

    3. アンインストールするには、次のスクリプトを実行します。

      bash$ ./ddl_install.sh uninstall mysql userid password port

  10. (ソースおよびターゲット・システム)展開したOracle GoldenGateファイルを、新規ディレクトリから、既存のファイルを上書きするソース・システムおよびターゲット・システム上の既存のOracle GoldenGateディレクトリに移動します。

  11. (DB2 for i)引数なしでggos400installを実行します。アップグレードの場合、引数は必要ありません。ただし、ライブラリを変更した場合、古いライブラリは、削除するまでシステムに残ります。

  12. (ソースおよびターゲット・システム) GGSCIを開始します。

  13. (ターゲット・システム。バージョン11.2.1.0.0以前からReplicatをアップグレードする場合のみ)各ターゲット・システムにおいてGGSCIで次のコマンドを発行し、そのシステムのReplicatチェックポイント表をアップグレードします。このステップでは、表定義を更新します。

    GGSCI> DBLOGIN {
            [SOURCEDB data_source] |
            [, database@host:port] |USERID {/ | userid}
            [, PASSWORD password]   
            [algorithm ENCRYPTKEY {keyname | DEFAULT}] |USERIDALIAS alias [DOMAIN domain] |
            [SYSDBA | SQLID sqlid]
            [SESSIONCHARSET character_set]}
    

    GGSCI> UPGRADE CHECKPOINTTABLE [owner.table]

    ノート:

    チェックポイント表がGLOBALSファイルのCHECKPOINTTABLEにリストされている名前で作成された場合は、owner.tableを省略できます。

  14. (SQL Serverソース・システム) Oracle GoldenGateのインストールガイドのSQL Serverでのインストールを参照して、Oracle GoldenGate for SQL Serverのインストールの要件に従います。

  15. (ソース・システム上のSQL ServerクラシックExtract) DELETE TRANDATAを以前にそれが有効になっていた任意の表(Oracle GoldenGateハートビート実装を使用している場合はgg_heartbeat表およびgg_heartbeat_seed表など)に対して実行してから、その表に対してADD TRANDATAを再実行します。

    GGSCI> DBLOGIN {[SOURCEDB data_source] | |USERID {/ | userid}[, PASSWORD password] |USERIDALIAS alias [DOMAIN domain]
    GGSCI> DELETE TRANDATA schema.tablename
    GGSCI> ADD TRANDATA schema.tablename
  16. (ソース・システム上のSQL Server CDC Extract) ADD TRANDATAを以前にそれが有効になっていた任意の表(Oracle GoldenGateハートビート実装を使用している場合は任意のフィルタ表、gg_heartbeat表およびgg_heartbeat_seed表など)に対して再実行します。

    GGSCI> DBLOGIN {[SOURCEDB data_source] | |USERID {/ | userid}[, PASSWORD password] |USERIDALIAS alias [DOMAIN domain]
    GGSCI> ADD TRANDATA schema.tablename
  17. (ソース・システムおよびターゲット・システム) Oracle GoldenGate 19c以降、Oracle GoldenGateでは、Extractが既存の証跡と同じ形式で証跡に書き込むことができるため、明示的なETROLLOVERを実行する必要はありません。

  18. (ソース・システム。Extractをアップグレードしない場合)SOURCECHARSETパラメータをReplicatパラメータ・ファイルに追加します。このパラメータでソース・データベースの文字セットを指定します。

  19. (ソース・システム。Replicatをアップグレードしない場合)現時点ではターゲット・システムのReplicatをアップグレードしない場合、Extractパラメータ・ファイルに次のパラメータを追加して、ターゲットで実行されるOracle GoldenGateのバージョンを指定します。このパラメータを指定すると、Extractによって、古いバージョンのReplicatと互換性のある証跡のバージョンが書き込まれます。

    {EXTTRAIL | RMTTRAIL} file_name FORMAT RELEASE major.minor
    

    デフォルトでは、Extractは、アップグレード前に書き込まれている既存の証跡ファイルと同じ形式で、証跡ファイルに書き込みます。FORMAT RELEASEパラメータは、既存の形式よりも新しい形式で証跡に書き込む場合にのみ必要です。

  20. パラメータ・ファイルのコピーを作成してパラメータを変更する場合は、古いパラメータ・ファイルが格納されていたOracle GoldenGateディレクトリに新しいパラメータ・ファイルを移動し、古いパラメータ・ファイルと同じ名前を付けます。大文字と小文字を区別する場合は、パラメータ・ファイルにNOUSEANSISQLQUOTESを追加するか、convprmユーティリティを実行し、必要に応じて引用符を変換してください。詳細は、「文字セット変換を使用している場合のアップグレードの考慮事項」を参照してください。

  21. GGSCIで、次の順序に従って、ソース・システムとターゲット・システムのOracle GoldenGateプロセスを開始します。

    GGSCI> START MANAGER
    GGSCI> START EXTRACT group
    GGSCI> START EXTRACT pump
    GGSCI> START REPLICAT group
    
  22. ログ・ファイルをリストアする必要がある場合、Extractはリストアが必要なログを示すエラーで異常終了します。ログをそのログまでリストアし、Extractを再起動します。