1 Oracle GoldenGateのアップグレードの概要
内容は次のとおりです。
アップグレードの担当者
Oracle GoldenGateへのアップグレードは、プロセスの制御やステータス情報の取得に必要なコマンドについて十分な知識を持つ管理者が行う必要があります。
親トピック: Oracle GoldenGateのアップグレードの概要
アップグレードする前に
アップグレード処理を実行する前に、『Oracle GoldenGateリリース・ノート』を読んで、新しいリリースが構成の次の項目に与える影響を判断してください。
-
新しいデフォルトのプロセス動作。
-
変更された、または非推奨になったパラメータ。
-
必要な新機能またはデータベース・タイプをサポートするために追加されたパラメータ。
-
変更されたパラメータのデフォルト値。
-
TABLE
文またはMAP
文の変更が必要となる新しいデータ型のサポート。 -
データベースの変更が必要になるネイティブ・データベース・コンポーネントとの対話。
パラメータのすべての変更を事前に行ってプロセスの再起動時には準備が完了しているようにすることで、開始が遅れて進捗にずれが生じることを防げます。プロセスの実行中にパラメータを変更することはできませんが、次のことが可能です。
- パラメータ・ファイルのコピーを作成します。
- コピーを編集します。
- アップグレード処理中にプロセスを停止した後、古いパラメータ・ファイルをコピーして新しい名前を付けます(バックアップ保存用)。
- 新しいパラメータ・ファイルをコピーして古いパラメータ・ファイルの名前を付けます。
親トピック: Oracle GoldenGateのアップグレードの概要
Oracle GoldenGateのパッチのダウンロード
Oracle GoldenGate構成の一部となる各システムのOracle GoldenGateのビルドに適したパッチをダウンロードします。
注意:
ソフトウェアをインストールする前に、『Oracle GoldenGateリリース・ノート』 を参照し、新機能、パラメータの変更、アップグレード要件、既知の問題、または現在の構成に影響するバグ修正がないか確認してください。
親トピック: Oracle GoldenGateのアップグレードの概要
パッチ適用の準備
パッチをダウンロードしたら、インストールする前に環境を整える必要があります(アンインストールの前にもこれらの前提条件を満たす必要があります)。これを行うには、システムが次の要件を満たしていることを確認します。
親トピック: Oracle GoldenGateのアップグレードの概要
パッチのインストール
パッチをインストールするには、次の手順を使用します。
-
パッチのZIPファイルの中身を格納するための場所を準備します。以後、このドキュメントでは、この場所(絶対パス)を
PATCH_TOP_DIR
と呼びます。 -
前の手順で作成した場所に、パッチZIPファイルの内容を抽出します。
次に例を示します。
$ PATCH_TOP_DIR p14309369_112101_Solaris86-64.zip
-
次のようにして、Oracle GoldenGateを停止します。
-
GGSCIを実行します。
-
コマンドを実行して、Managerを停止します。
STOP MANAGER
-
コマンドを実行して、すべてのOracle GoldenGateプロセスを停止します。
STOP ER *
-
-
PATCH_TOP_DIR
/Patch_number
ディレクトリに移動します。$ cd PATCH_TOP_DIR/Patch_number
-
次のコマンドを実行してパッチをインストールします。
$ opatch apply
注意:
OPatchが起動されると、パッチが検証され、Oracle GoldenGateリリースの
ORACLE_HOME
にすでにインストールされているソフトウェアと競合しないことが確認されます。OPatchでは、競合は次のタイプに分けられます。-
ORACLE_HOME
にすでに適用されているパッチとの競合。この場合、パッチのインストールを停止し、Oracleサポート・サービスに連絡してください。 -
適用しようとしているパッチのサブセットで、
ORACLE_HOME
にすでに適用されているパッチとの競合。この場合、ORACLE_HOME
の既存のパッチの修正がすべて新しいパッチに含まれているため、パッチのインストールを続けます。サブセットのパッチは、新しいパッチのインストール前に自動的にロールバックされます。
-
-
パッチに新しいパラメータが含まれている場合、各パラメータ・ファイルを編集します。
-
ORACLE_HOME
をOracleデータベース・ホーム・ディレクトリに設定しなおします。 -
次のようにして、Oracle GoldenGateホームからプロセスを起動します。
-
GGSCIを起動します。
-
次のコマンドを実行して、Managerを起動します。
START MANAGER
-
次のコマンドを実行して、すべてのOracle GoldenGateプロセスを起動します。
START ER *
-
GGSCIを終了します。
-
親トピック: Oracle GoldenGateのアップグレードの概要
SQL Server CDC Extractパッチのインストール
これらの手順では、構成を完了するために必要なSQL Server CDC Extractをインストールします。
- すべてのOracle GoldenGateプロセスを停止します。
- 既存のアップグレード手順に従って、古いバイナリに新しいバイナリをオーバーレイします。「異種データベースにおけるOracle GoldenGateリリース12cへのアップグレードの実行」を参照してください。
- データベースのSQL Server CDC Extractプロセスを手動で停止します。プロセスが大規模なトランザクションを処理している場合は、実際に停止するまでに時間がかかる場合があります。
- Extractプロセスが停止したことを確認します。
- GGSCIを使用して、以前
ADD TRANDATA
を使用可能にしたすべての表(ハートビート表またはフィルタ表(双方向構成)を含む)に対してこれを再度実行します。DELETE TRANDATA
コマンドは実行しない でください。 - SQL Server CDC Extractプロセスを手動で再起動します。
- Oracle GoldenGateプロセス(Extract、Replicat、Managerなど)を手動で再起動します。
親トピック: Oracle GoldenGateのアップグレードの概要
引用符で囲まれたオブジェクト名を使用している場合のアップグレードの考慮事項
Oracle GoldenGateでは、一重引用符に囲まれた文字列はリテラルとして扱われます。Oracle GoldenGateでは、リリース11.2から、二重引用符で囲まれたオブジェクト名がサポートされていましたが、リリース12.0まで、リテラルの一重引用符のルールが完全に実装されていませんでした。オブジェクト名の二重引用符、およびリテラルの一重引用符をサポートしたことで、Oracle GoldenGateがSQL-92ルールに準拠し、デフォルトで有効化されるようになりました。旧リリースでSQL-92標準の強制に使用されたUSEANSISQLQUOTES
パラメータは、非推奨になりました。
デフォルトのSQL-92ルールを変更すると、パラメータ・ファイルのオブジェクト名、SQLEXEC
句への入力、OBEY
ファイル、変換関数、ユーザー・イグジットおよびコマンドに影響します。この変更の結果、次のオプションができました。
-
Retain non-SQL-92 quote rules: SQL-92ルールに準拠しない現在のパラメータ・ファイルを保持できるよう、下位互換性が保たれます。SQL-92以外のルールを保持するには、アップグレードの実行前に
NOUSEANSISQLQUOTES
パラメータをGLOBALS
ファイルに追加して、そのパラメータが継承されるようにします。NOUSEANSISQLQUOTES
は、Extract、Replicat、DEFGENおよびGGSCIに影響します。 -
Upgrade your parameter files to use SQL-92 rules: Oracle GoldenGateには、
convprm
変換ツールが用意されており、パラメータ・ファイルがSQL-92ルールに準拠するよう変換するために実行できます。アップグレード・プロセスを開始する前に、convprm
ツールを実行してください。
convprm
ツールの概要
次に、convprm
ツールについて説明します。
-
手動で実行することも、スクリプト化することも可能なコマンドライン・プログラムです。
-
文字列リテラルを、二重引用符で囲まれたキャラクタ文字列から、一重引用符で囲まれたキャラクタ文字列に変換しますが、二重引用符で囲まれたオブジェクト名はそのまま残ります。どちらも、二重引用符で区切られた連続する文字列として表されている場合でも、オブジェクト名と文字列リテラルが区別されます。
-
引用符がエスケープされます。文字列の区切りに使用される文字列が、リテラル文字列自体に含まれる場合は、引用符をエスケープする必要があります。たとえば、"This character "" is a double quote"という文では、引用符がエスケープされています。'This character '' is a single quote'という文では、一重引用符がエスケープされています。二重引用符から一重引用符に変換する際は、
convprm
により、繰り返されている二重引用符の1つがエスケープされている二重引用符から削除され、文字列シーケンスに埋め込まれている一重引用符がエスケープされます。 -
GLOBALS
ファイルにNOUSEANSISQLQUOTES
が指定されている場合は、警告のメッセージが発行されます。メッセージの内容は、変換されたパラメータ・ファイルにはNOUSEANSISQLQUOTES
との互換性がないが、パラメータ・ファイルの更新は行われたというものです。 -
OBEY
またはINCLUDE
パラメータを使用して、含まれるファイルを繰り返し変換できます。 -
元のファイルと同じディレクトリに、初期パラメータ・ファイルのバックアップが作成されます。バックアップには、元のファイル名に
.bck
という接尾辞が付きます。バックアップ・ファイルの作成は、convprm
ツールの実行時に無効化できます。 -
キャラクタ・セットが変換されます。新しいパラメータ・ファイルのキャラクタ・セットは、元のパラメータ・ファイルの
CHARSET
パラメータから取得されます。そのパラメータがない場合、キャラクタ・セットは、GLOBALS
ファイルのCHARSET
パラメータから取得されます。GLOBALS
パラメータがない場合、新しいパラメータ・ファイルは、ローカル・オペレーティング・システムのキャラクタ・セットで記述されます。
表1-1に、変換結果の例を示します。
表1-1 [NO]USEANSISQLQUOTESの入力要件の比較
入力変数 | 古い構文の文字列リテラル | 新しい構文の文字列リテラル |
---|---|---|
古い構文では、二重引用符がエスケープされていますが、新しい構文ではエスケープされていません。 |
"abc""def" |
'abc"def' |
新しい構文では、一重引用符がエスケープされていますが、古い構文ではエスケープされていません。 |
"abc'def" |
'abc''def' |