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

このガイドでは、以前のリリースのOracle GoldenGateから現在のリリースにOracle GoldenGate Classic Architecture をアップグレードする手順と、Oracle GoldenGateのパッチを適用する方法について説明します。

内容は次のとおりです。

アップグレードの担当者

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

アップグレードする前に

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

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

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

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

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

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

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

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

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

Oracle GoldenGateのパッチのダウンロード

Oracle GoldenGate構成の一部となる各システムのOracle GoldenGateのビルドに適したパッチをダウンロードします。

  1. ブラウザを使用して、http://support.oracle.comに移動します。
  2. Oracle IDとパスワードでログインします。
  3. Patches and Upgrades・タブを選択します。
  4. 「Search」タブで、「Product or Family」をクリックします。
  5. 「Product」フィールドに、Oracle GoldenGateと入力します。
  6. 「Release」ドロップダウン・リストから、ダウンロードするリリースのバージョンを選択します。
  7. 「Platform」がデフォルトとして次のフィールドに表示されることを確認し、プラットフォームをドロップダウン・リストから選択します。
  8. 最後のフィールドは空のままにします。
  9. 「Search」をクリックします。
  10. 「Patch Advanced Search Results」リストで、検索基準に最も合うパッチを選択します。選択するOracle GoldenGateのパッチが、使用するデータベースのバージョンに対応していることを確認してください。

    ビルドを選択すると、ビルドの説明の下にダイアログ・ボックスがポップアップし、ダウンロード・ページに進みます。

  11. ダウンロードする各パッチのパッチ・ファイル名のリンクをクリックします。File Download・ダイアログ・ボックスが表示されます。
  12. 「Open」または「Save」のいずれかを選択します。
    目的... 選択...

    パッチをただちに抽出

    「Open」を選択し、ファイル抽出ユーティリティを選択して、ファイル・システム上の場所へファイルを抽出します。

    パッチを保存し、後で抽出

    「Save」を選択し、ファイル・システム上のディレクトリに保存します。

注意:

ソフトウェアをインストールする前に、『Oracle GoldenGateリリース・ノート』 を参照し、新機能、パラメータの変更、アップグレード要件、既知の問題、または現在の構成に影響するバグ修正がないか確認してください。

パッチ適用の準備

パッチをダウンロードしたら、インストールする前に環境を整える必要があります(アンインストールの前にもこれらの前提条件を満たす必要があります)。これを行うには、システムが次の要件を満たしていることを確認します。

  1. パッチのインストール先またはパッチのロールバック元のOracle GoldenGateのバージョンが、Oracle用のOracle GoldenGateリリース12c (12.3.0.1)であることを確認します。
  2. 最新バージョンのOPatchを使用します。最新バージョンがない場合は、次の場所のMy Oracle Supportのノート224346.1に示された手順に従ってください。

    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=224346.1

    OPatchの詳細は、OPatchを使用したパッチに関する項を参照してください。

  3. ORACLE_HOME環境変数をOracle GoldenGateのインストール・ディレクトリに設定します(以後、ORACLE_HOMEと呼びます)。
  4. 解凍した実行可能ファイルの場所、Oracle GoldenGateホームにあるORACLE_HOMEディレクトリおよびORACLE_HOME/OPatchディレクトリが含まれるようPATH環境変数を設定します。
  5. パッチをインストールする際にOPatchがアクセスするOracle Inventoryを確認します。インベントリを確認するには、次のコマンドを実行します。
    $ opatch lsinventory
    

    コマンドでエラーが表示される場合は、Oracleサポートに連絡し、問題を解決してください。

パッチのインストール

パッチをインストールするには、次の手順を使用します。

  1. パッチのZIPファイルの中身を格納するための場所を準備します。以後、このドキュメントでは、この場所(絶対パス)をPATCH_TOP_DIRと呼びます。

  2. 前の手順で作成した場所に、パッチZIPファイルの内容を抽出します。

    次に例を示します。

    $ PATCH_TOP_DIR p14309369_112101_Solaris86-64.zip
    
  3. 次のようにして、Oracle GoldenGateを停止します。

    1. GGSCIを実行します。

    2. コマンドを実行して、Managerを停止します。

      STOP MANAGER
      
    3. コマンドを実行して、すべてのOracle GoldenGateプロセスを停止します。

      STOP ER *
      
  4. PATCH_TOP_DIR/Patch_numberディレクトリに移動します。

    	$ cd PATCH_TOP_DIR/Patch_number
    
  5. 次のコマンドを実行してパッチをインストールします。

    	$ opatch apply

    注意:

    OPatchが起動されると、パッチが検証され、Oracle GoldenGateリリースのORACLE_HOMEにすでにインストールされているソフトウェアと競合しないことが確認されます。OPatchでは、競合は次のタイプに分けられます。

    • ORACLE_HOMEにすでに適用されているパッチとの競合。この場合、パッチのインストールを停止し、Oracleサポート・サービスに連絡してください。

    • 適用しようとしているパッチのサブセットで、ORACLE_HOMEにすでに適用されているパッチとの競合。この場合、ORACLE_HOMEの既存のパッチの修正がすべて新しいパッチに含まれているため、パッチのインストールを続けます。サブセットのパッチは、新しいパッチのインストール前に自動的にロールバックされます。

  6. パッチに新しいパラメータが含まれている場合、各パラメータ・ファイルを編集します。

  7. ORACLE_HOMEをOracleデータベース・ホーム・ディレクトリに設定しなおします。

  8. 次のようにして、Oracle GoldenGateホームからプロセスを起動します。

    1. GGSCIを起動します。

    2. 次のコマンドを実行して、Managerを起動します。

      START MANAGER
      
    3. 次のコマンドを実行して、すべてのOracle GoldenGateプロセスを起動します。

      START ER *
    4. GGSCIを終了します。

SQL Server CDC Extractパッチのインストール

これらの手順では、構成を完了するために必要なSQL Server CDC Extractをインストールします。

  1. すべてのOracle GoldenGateプロセスを停止します。
  2. 既存のアップグレード手順に従って、古いバイナリに新しいバイナリをオーバーレイします。「異種データベースにおけるOracle GoldenGateリリース12cへのアップグレードの実行」を参照してください。
  3. データベースのSQL Server CDC Extractプロセスを手動で停止します。プロセスが大規模なトランザクションを処理している場合は、実際に停止するまでに時間がかかる場合があります。
  4. Extractプロセスが停止したことを確認します。
  5. GGSCIを使用して、以前ADD TRANDATAを使用可能にしたすべての表(ハートビート表またはフィルタ表(双方向構成)を含む)に対してこれを再度実行します。DELETE TRANDATAコマンドは実行しない でください。
  6. SQL Server CDC Extractプロセスを手動で再起動します。
  7. Oracle GoldenGateプロセス(Extract、Replicat、Managerなど)を手動で再起動します。

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

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'

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