1 Oracle GoldenGateのアップグレードの概要
内容は次のとおりです。
アップグレードの担当者
Oracle GoldenGateへのアップグレードは、プロセスの制御やステータス情報の取得に必要なコマンドについて十分な知識を持つ管理者が行う必要があります。
親トピック: Oracle GoldenGateのアップグレードの概要
アップグレードする前に
アップグレード処理を実行する前に、『Oracle GoldenGateリリース・ノート』を読んで、新しいリリースが構成の次の項目に与える影響を判断してください。
-
新しいデフォルトのプロセス動作。
-
変更された、または非推奨になったパラメータ。
-
必要な新機能またはデータベース・タイプをサポートするために追加されたパラメータ。
-
変更されたパラメータのデフォルト値。
-
TABLE
文またはMAP
文の変更が必要となる新しいデータ型のサポート。 -
データベースの変更が必要になるネイティブ・データベース・コンポーネントとの対話。
パラメータのすべての変更を事前に行ってプロセスの再起動時には準備が完了しているようにすることで、開始が遅れて進捗にずれが生じることを防げます。プロセスの実行中にパラメータを変更することはできませんが、次のことが可能です。
- パラメータ・ファイルのコピーを作成します。
- コピーを編集します。
- アップグレード処理中にプロセスを停止した後、古いパラメータ・ファイルをコピーして新しい名前を付けます(バックアップ保存用)。
- 新しいパラメータ・ファイルをコピーして古いパラメータ・ファイルの名前を付けます。
親トピック: Oracle GoldenGateのアップグレードの概要
引用符で囲まれたオブジェクト名を使用している場合のアップグレードの考慮事項
Oracle GoldenGateでは、一重引用符に囲まれた文字列はリテラルとして扱われます。Oracle GoldenGateでは、リリース11.2から、二重引用符で囲まれたオブジェクト名がサポートされていましたが、リリース12.1まで、リテラルの一重引用符のルールが完全に実装されていませんでした。オブジェクト名の二重引用符、およびリテラルの一重引用符をサポートしたことで、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' |