Oracle Grid Infrastructureホームのパッチ適用および切替え

Oracle GoldenGate Maximum Availability Hubスタックのプライマリ・クラスタとスタンバイ・クラスタの両方で、次のステップを実行します。

switchGridHomeコマンドは、同じリリースの異なるRUを切り替える場合にのみ使用できます。
  1. 適用するOracle Databaseリリース更新(RU)をMy Oracle Supportからnode1/tmpディレクトリにダウンロードします。
  2. node1node2の両方でrootユーザーとして、新しいOracle Grid Infrastructureホーム・ディレクトリを作成し、iptablesを無効にします。<version-number>を適切なRUバージョン番号に置き換えてください。
    $ mkdir -p /u01/app/<version-number>/grid
    $ chown grid:oinstall /u01/app/<version-number>/grid
    $ systemctl stop iptables
    $ systemctl disable iptables

    ノート:

    新しいOracle Grid Infrastructureホームのパスは、現在のOracle Grid Infrastructureホームとは異なるパスにする必要があります。
  3. クラスタのnode1gridユーザーとして、Oracle Grid Infrastructureのイメージ・ファイルをダウンロードし、そのファイルを新しいOracle Grid Infrastructureホーム・ディレクトリに展開します。グリッド設定レスポンス・ファイルを既存のOracle Grid Infrastructureホームのパスから新しいホームのパスにコピーします。<version-number>を適切なRUバージョン番号に置き換えてください。
    
    $ cd /u01/app/<version-number>/grid
    $ unzip -q download_location/grid.zip
    $ cp Old_GI_Home/gridsetup.rsp  .
  4. node1でOracle Grid Infrastructureインストーラを起動し、-switchGridHomeフラグを指定してインストール後にパッチ適用済のOracle Grid Infrastructureホームに切り替え、オプションの-applyRUフラグを指定してインストール中にリリース更新(RU)を適用します。<version-number>を適切なRUバージョン番号に置き換えてください。
    $ /u01/app/<version-number>/grid/gridSetup.sh -responseFile /u01/app/<version-number>/grid/gridsetup.rsp -switchGridHome [-applyRU patch_directory_location] 
    [-applyOneOffs comma_seperated_list_of_patch_directory_locations]
  5. rootユーザーとして、クラスタのnode1で次のスクリプトを実行します:
    $ /u01/app/<version-number>/grid/root.sh

    次に、node2でスクリプトを実行します。

  6. パッチ適用が完了したことを確認します。
    $ crsctl query crs activeversion -f
    Oracle Clusterware active version on the cluster is [19.0.0.0.0]. The cluster upgrade state is [NORMAL]. 
    The cluster active patch level is [patch_level].
  7. すべてのCRSプロセスが新しいGridホームから実行されていることを確認します。
    $ ps -ef | grep d\\.bin

    次のレスポンスが返されます:

    grid      6322     1  0 19:16 ?        00:00:00 /u01/app/<version-number>/grid/bin/acfsrepl_dupd.bin /mnt/acfs_gg
    root     28946     1  0 19:12 ?        00:00:05 /u01/app/<version-number>/grid/bin/ohasd.bin reboot _ORA_BLOCKING_STACK_LOCALE=AMERICAN_AMERICA.AL32UTF8
    grid     29169     1  0 19:12 ?        00:00:00 /u01/app/<version-number>/grid/bin/mdnsd.bin
    grid     29170     1  0 19:12 ?        00:00:02 /u01/app/<version-number>/grid/bin/evmd.bin
    grid     29209     1  0 19:12 ?        00:00:00 /u01/app/<version-number>/grid/bin/gpnpd.bin
    grid     29274     1  0 19:12 ?        00:00:02 /u01/app/<version-number>/grid/bin/gipcd.bin
    root     29310     1  0 19:12 ?        00:00:05 /u01/app/<version-number>/grid/bin/osysmond.bin
    grid     29397     1  0 19:12 ?        00:00:05 /u01/app/<version-number>/grid/bin/ocssd.bin  -S 1
    root     29595     1  0 19:12 ?        00:00:02 /u01/app/<version-number>/grid/bin/octssd.bin reboot
    root     29629     1  1 19:12 ?        00:00:11 /u01/app/<version-number>/grid/bin/crsd.bin reboot
  8. クラスタの両方のノードでiptablesを有効にして再起動します。
    $ systemctl enable iptables
    $ systemctl restart iptables
  9. パッチ適用に失敗した場合は、次の手順を実行してパッチをロールバックします。
    1. rootユーザーとして、prepatchスクリプトを実行します。
      # /u01/app/<version-number>/grid/crs/install/rootcrs.sh -prepatch -dstcrshome Old_GI_Home -rollback
    2. rootユーザーとして、postpatchスクリプトを実行します。
      # /u01/app/<version-number>/grid/crs/install/rootcrs.sh -postpatch -dstcrshome Old_GI_Home -rollback
  10. すべてのノード上で新しいGridホームに正常に切り替えた場合に、古いGridホームに戻すには、次の手順を実行します。
    1. rootユーザーとして、古いGridホームのロックを解除します。
      # Old_GI_Home/crs/install/rootcrs.sh -unlock -crshome Old_GI_Home
    2. gridユーザーとして、古いGridホームからswitchGridHomeを実行します。
      $ Old_GI_Home/gridSetup.sh -silent -switchGridHome [-zeroDowntimeGIPatching] [-skipDriverUpdate]