主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateのアップグレード
12c (12.3.0.1)
E89939-03
目次へ移動
目次

前
次

1 Oracle GoldenGateのアップグレードの概要

このガイドには、Oracle GoldenGate Classic Architectureをバージョン11gからバージョン12cにアップグレードする手順が含まれています。

内容は次のとおりです。

1.1 アップグレードの担当者

Oracle GoldenGateへのアップグレードは、プロセスの制御やステータス情報の取得に必要なコマンドについて十分な知識を持つ管理者が行う必要があります。

1.2 アップグレードする前に

アップグレード処理を実行する前に、『Oracle GoldenGateリリース・ノート』を読んで、新しいリリースが構成の次の項目に与える影響を判断してください。

  • 新しいデフォルトのプロセス動作。

  • 変更された、または非推奨になったパラメータ。

  • 必要な新機能またはデータベース・タイプをサポートするために追加されたパラメータ。

  • 変更されたパラメータのデフォルト値。

  • TABLE文またはMAP文の変更が必要となる新しいデータ型のサポート。

  • データベースの変更が必要になるネイティブ・データベース・コンポーネントとの対話。

パラメータのすべての変更を事前に行ってプロセスの再起動時には準備が完了しているようにすることで、開始が遅れて進捗にずれが生じることを防げます。プロセスの実行中にパラメータを変更することはできませんが、次のことが可能です。

  1. パラメータ・ファイルのコピーを作成します。
  2. コピーを編集します。
  3. アップグレード処理中にプロセスを停止した後、古いパラメータ・ファイルをコピーして新しい名前を付けます(バックアップ保存用)。
  4. 新しいパラメータ・ファイルをコピーして古いパラメータ・ファイルの名前を付けます。

注意:

Oracle GoldenGateのインストールとともに提供されるサンプル・ファイルは、各アップグレードで上書きされます。オラクル社の配信したサンプル・ファイルを変更する場合は、変更したファイルが上書きされることで生じる問題を回避するため、コピーしてからファイルを変更することをお薦めします。

1.3 引用符で囲まれたオブジェクト名を使用している場合のアップグレードの考慮事項

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ツールを実行してください。

1.3.1 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'

1.3.2 convprmの実行

convprmツールの使用手順:

  1. 次の構文を使用してconvprmを実行します。
    convprm [options] input_files
    

    説明:

    • {-h | --help}は、使用方法を表示します。

    • {-v |--version}は、バージョン情報を表示します。

    • {-i | --follow-include}は、OBEYまたはINCLUDEパラメータを使用することで、含まれるファイルを繰り返し変換します。

    • {-n |--no-backup}では、元のファイルのコピーは作成されません。

    • {-s | --silent}では、ステータス・メッセージが表示されません。

    • {-q | --quotes}では、引用符の変換が実行されます。これはデフォルトです。

    • {-d | --dry-run}では、パラメータ・ファイルの変更やバックアップ・ファイルの作成は行われません。変換の結果、どのようになるかが出力されるのみです。

    • input_filesは、変換されるパラメータ・ファイルのリストです。次に示すように、各ファイル名は空白で区切られます。

      convprm [options] extfin extacct exthr
      
  2. パラメータ・ファイルを調べて、変換が正常に行われたことを確認してください。ファイルの変換プロセスの最初、途中または最後に、ステータス・メッセージが表示されます。

エラーが発生すると、その他のOracle GoldenGateの実行可能ファイルと同じように、プロセスが異常終了します。コンバータの失敗原因となったすべてのエラー・メッセージが、Oracle GoldenGateエラー・ログに送信されます。

USEANSISQLQUOTESパラメータを使用している場合は、削除するか、そのままパラメータ・ファイルに残してください。現在は、これがデフォルトです。