異種データベースのためのOracle GoldenGateのアップグレード
ExtractとReplicatの両方ではなく、どちらか1つのみをアップグレードする場合でも、アップグレードにはすべてのプロセスが関係します。どのコンポーネントをアップグレードするかに関係なく、すべてのプロセスをアップグレードの適切な順序で停止し、空になるまで証跡を処理する必要があります。
-
(ソースおよびターゲット・システム)ソース・システムとターゲット・システムの現在のOracle GoldenGateインストール・ディレクトリと、クラスタ内の共有ドライブにインストールしたすべての作業ディレクトリ(該当する場合)をバックアップします。
-
(必要に応じて、ソースおよびターゲット・システム)それぞれのシステムの新しいディレクトリ(現行のOracle GoldenGateディレクトリではありません)に、Oracle GoldenGateのアップグレード・ビルドを展開します。サブディレクトリは作成しないでください。インストール・ファイルが展開されるまでのステップを完了します。
-
Oracle GoldenGate構成内のオブジェクト上でDMLとDDLを生成するすべてのユーザー・アクティビティを停止し、データベースに対する未処理のオープン・トランザクションがないことを確認します。
ソース・システムのSQL Server CDC Extractの場合、データベースのCDCキャプチャ・ジョブを手動で停止します。
-
(ソース・システム)ソース・システム上のGGSCIで、トランザクション・ログ内に処理するデータが残っていないことを示す
YES
が表示されるまで、LOGEND
オプションを指定してSEND EXTRACT
コマンドを発行します。ソース・システムのSQL Server CDC Extractの場合、
SEND EXTRACT
groupSTATUS
を数秒間繰り返し実行して、Extractの現在の読取り位置が更新されていないことをモニターし、現在の読取り位置のLSN値が更新されていないことを確認します。GGSCI> SEND EXTRACT
group
LOGEND
-
(ソース・システム) GGSCIで、Extractとデータ・ポンプを停止します。
GGSCI> STOP EXTRACT
group
-
(ターゲット・システム)各ターゲット・システムのGGSCIで、証跡のすべてのデータの処理が完了したことを示す"
At EOF
"ステータスが表示されるまで、STATUS
オプションを指定したSEND REPLICAT
コマンドを発行します。すべてのReplicatプロセスが"At EOF
"を戻すまで、すべてのターゲット・システムでこれを行う必要があります。GGSCI> SEND REPLICAT
group
STATUS
-
(ターゲット・システム) GGSCIで、すべてのReplicatプロセスを停止します。
GGSCI> STOP REPLICAT
group
-
(ソース・システムおよびターゲット・システム) GGSCIでソース・システム上とターゲット・システム上のManagerを停止し、GGSCIを閉じます。
GGSCI> STOP MANAGER
-
ソースまたはターゲット・データベース、あるいは両方をアップグレードする場合は、そのデータベース用に提示されたアップグレード手順に従って、この時点で実行します。アップグレード後にデータベースを起動しますが、Oracle GoldenGate構成内のオブジェクトに対するトランザクションは許可しないでください。
MySQLの場合は、Oracle GoldenGate 19c (19.1.0)からのアップグレードであり、データベースがMySQL 5.7なら、変更は必要ありません。ただし、Oracle GoldenGate 19c (19.1.0)からのアップグレードであり、データベースがMySQL 8.0である場合は、次のステップを実行する必要があります。-
DDLまたはDMLレプリケーションに関係なく、メタデータすべてのロギングを有効にします(MySQL 8.0以上では必要なため)。メタデータすべてのロギングは、MySQL構成ファイル(Linuxの場合は
my.cnf
、Windowsの場合はmy.ini
)内でMySQLサーバー変数binlog_row_metadata
の値をFULL
に設定することで有効化できます。設定を有効にするには、構成ファイルの変更後にサーバーをバウンスする必要があります。 -
DDLレプリケーションが以前に有効になっていた場合は、DDLアンインストール・スクリプトを実行して古いDDLソリューションを無効にします。
スクリプト名:
Windowsの場合:
ddl_install.bat
Linuxの場合:
ddl_install.sh
-
アンインストールするには、次のスクリプトを実行します。
bash$ ./ddl_install.sh uninstall mysql userid password port
-
-
(ソースおよびターゲット・システム)展開したOracle GoldenGateファイルを、新規ディレクトリから、既存のファイルを上書きするソース・システムおよびターゲット・システム上の既存のOracle GoldenGateディレクトリに移動します。
-
(DB2 for i)引数なしで
ggos400install
を実行します。アップグレードの場合、引数は必要ありません。ただし、ライブラリを変更した場合、古いライブラリは、削除するまでシステムに残ります。 -
(ソースおよびターゲット・システム) GGSCIを開始します。
-
(ターゲット・システム。バージョン11.2.1.0.0以前からReplicatをアップグレードする場合のみ)各ターゲット・システムにおいてGGSCIで次のコマンドを発行し、そのシステムのReplicatチェックポイント表をアップグレードします。このステップでは、表定義を更新します。
GGSCI> DBLOGIN { [SOURCEDB
data_source
] | [,database@host:port
] |USERID {/ |userid
} [, PASSWORDpassword
] [algorithm
ENCRYPTKEY {keyname
| DEFAULT}] |USERIDALIASalias
[DOMAINdomain
] | [SYSDBA | SQLID sqlid] [SESSIONCHARSET character_set]}GGSCI> UPGRADE CHECKPOINTTABLE [
owner
.table
]
ノート:
チェックポイント表が
GLOBALS
ファイルのCHECKPOINTTABLE
にリストされている名前で作成された場合は、owner
.table
を省略できます。 -
(SQL Serverソース・システム) Oracle GoldenGateのインストールガイドのSQL Serverでのインストールを参照して、Oracle GoldenGate for SQL Serverのインストールの要件に従います。
-
(ソース・システム上の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
-
(ソース・システム上の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
-
(ソース・システムおよびターゲット・システム) Oracle GoldenGate 19c以降、Oracle GoldenGateでは、Extractが既存の証跡と同じ形式で証跡に書き込むことができるため、明示的な
ETROLLOVER
を実行する必要はありません。 -
(ソース・システム。Extractをアップグレードしない場合)
SOURCECHARSET
パラメータをReplicatパラメータ・ファイルに追加します。このパラメータでソース・データベースの文字セットを指定します。 -
(ソース・システム。Replicatをアップグレードしない場合)現時点ではターゲット・システムのReplicatをアップグレードしない場合、Extractパラメータ・ファイルに次のパラメータを追加して、ターゲットで実行されるOracle GoldenGateのバージョンを指定します。このパラメータを指定すると、Extractによって、古いバージョンのReplicatと互換性のある証跡のバージョンが書き込まれます。
{EXTTRAIL | RMTTRAIL}
file_name
FORMAT RELEASEmajor.minor
デフォルトでは、Extractは、アップグレード前に書き込まれている既存の証跡ファイルと同じ形式で、証跡ファイルに書き込みます。
FORMAT RELEASE
パラメータは、既存の形式よりも新しい形式で証跡に書き込む場合にのみ必要です。 -
パラメータ・ファイルのコピーを作成してパラメータを変更する場合は、古いパラメータ・ファイルが格納されていたOracle GoldenGateディレクトリに新しいパラメータ・ファイルを移動し、古いパラメータ・ファイルと同じ名前を付けます。大文字と小文字を区別する場合は、パラメータ・ファイルに
NOUSEANSISQLQUOTES
を追加するか、convprm
ユーティリティを実行し、必要に応じて引用符を変換してください。詳細は、「文字セット変換を使用している場合のアップグレードの考慮事項」を参照してください。 -
GGSCIで、次の順序に従って、ソース・システムとターゲット・システムのOracle GoldenGateプロセスを開始します。
GGSCI> START MANAGER GGSCI> START EXTRACT
group
GGSCI> START EXTRACTpump
GGSCI> START REPLICATgroup
-
ログ・ファイルをリストアする必要がある場合、Extractはリストアが必要なログを示すエラーで異常終了します。ログをそのログまでリストアし、Extractを再起動します。