原文はこちら。
https://blogs.oracle.com/WebLogicServer/entry/three_easy_steps_to_a
管理対象サーバーへ新しいパッチを適用されたOracleHomeを展開することで非常に簡単にWebLogic Server環境のアップデートができることがおわかりいただけたかと思います。それではさらに一歩すすめて、その操作の準備、配布の部分を自動化する方法を見ましょう。
ZDT PatchingはOPatchAutoと呼ばれる12.2.1の新しいすばらしいツールと統合しました。OPatchAutoは単一のインターフェースで、これを使うと、たった3ステップで、OracleHomeにパッチを適用し、パッチが適用されたOracleHomeをアップデートしたいすべてのノードに配布し、OracleHomeのロールアウトを開始することができます。
1.最初のステップでは、目的のパッチやPatch Set Updateを本番環境のOracleHomeと組み合わせ、パッチを適用するOracleHomeアーカイブ(.jarファイル)を作成します。この操作はOracleHomeのコピーを作成するので、本番環境に影響しません。その後、指定したパッチをOracleHomeのコピーに適用し、そこからアーカイブを作成します。これはロールアウト時に使うアーカイブですが、まずはすべての対象とするノードにコピーする必要があります。
最初の手順では、以下のようなOPatchAutoコマンドを実行します。
です。また、-oopは“out-of-place”を意味し、OpatchAutoにソースとなるOracleHomeをパッチ適用前にコピーするよう指示します。
2. 第2に、1で作成したパッチ適用済みのOracleHomeアーカイブをすべての対象ノードにコピーします。この手順の素敵なところは、OpatchAutoがZDT Patchingと統合されているため、OpatchAutoに対し、ZDT Patchingとともに使うターゲットを指定することができるので、ZDT Patchingが自動的にノードを計算するようOpatchAutoが依頼します。以下がこの手順におけるコマンド例です。
です。リモートホストに対するssh認可のwalletがまだない場合には作成しておく必要があります。
3. 最後の手順では、OPatchAutoを使ってZDT Patching OracleHomeロールアウトを呼び出します。WLSTにこの時点で切り替え、以前のエントリで説明したように開始することができますが、OPatchAutoはロールアウトの進捗を監視し、有用なフィードバックも返してくれます。OpatchAutoを使ってロールアウトを開始するコマンドの例です。
です。image-location と remote-image-location は両方指定しておくと、ノードがイメージをなくした場合に自動的にコピーできます。これがここで再度walletが指定されている理由でもあります。
プロセス全体の自動化を見た際に考慮すべきもう一つの素晴らしい点は、これらの同じコマンドを使用して、同じパッチ適用済みOracleHomeアーカイブを検証のためにテスト環境に配布、ロールアウトすることが非常に簡単である、というところにあります。検証がすめば、同じ2つのコマンドを少々変更して、本番環境にまったく同じ(検証済みの)OracleHomeアーカイブをプッシュします。
Zero Downtime PatchingとOPatchAutoを使ったOracleHomeのアップデートに関する詳細は、以下のドキュメントをご覧ください。
https://blogs.oracle.com/WebLogicServer/entry/three_easy_steps_to_a
管理対象サーバーへ新しいパッチを適用されたOracleHomeを展開することで非常に簡単にWebLogic Server環境のアップデートができることがおわかりいただけたかと思います。それではさらに一歩すすめて、その操作の準備、配布の部分を自動化する方法を見ましょう。
ZDT PatchingはOPatchAutoと呼ばれる12.2.1の新しいすばらしいツールと統合しました。OPatchAutoは単一のインターフェースで、これを使うと、たった3ステップで、OracleHomeにパッチを適用し、パッチが適用されたOracleHomeをアップデートしたいすべてのノードに配布し、OracleHomeのロールアウトを開始することができます。
1.最初のステップでは、目的のパッチやPatch Set Updateを本番環境のOracleHomeと組み合わせ、パッチを適用するOracleHomeアーカイブ(.jarファイル)を作成します。この操作はOracleHomeのコピーを作成するので、本番環境に影響しません。その後、指定したパッチをOracleHomeのコピーに適用し、そこからアーカイブを作成します。これはロールアウト時に使うアーカイブですが、まずはすべての対象とするノードにコピーする必要があります。
最初の手順では、以下のようなOPatchAutoコマンドを実行します。
ここで${ORACLE_HOME}/OPatch/auto/core/bin/opatchauto.sh apply /pathTo/PatchHome -create-image -image-location /pathTo/image.jar –oop –oh /pathTo/OracleHome
- PatchHome:適用するパッチやPatch Set Updateを含むディレクトリもしくはファイル
- image-location:生成されるイメージファイルの配置場所
です。また、-oopは“out-of-place”を意味し、OpatchAutoにソースとなるOracleHomeをパッチ適用前にコピーするよう指示します。
2. 第2に、1で作成したパッチ適用済みのOracleHomeアーカイブをすべての対象ノードにコピーします。この手順の素敵なところは、OpatchAutoがZDT Patchingと統合されているため、OpatchAutoに対し、ZDT Patchingとともに使うターゲットを指定することができるので、ZDT Patchingが自動的にノードを計算するようOpatchAutoが依頼します。以下がこの手順におけるコマンド例です。
ここで${ORACLE_HOME}/OPatch/auto/core/bin/opatchauto.sh apply -plan wls-push-image -image-location /pathTo/image.jar -wls-admin-host ${ADMINHOSTNAME}:7001 -wls-target Cluster1 -remote-image-location /pathTo/image.jar -wallet ${WALLET_DIR}
- image-location:手順1で作成されたJarファイル
- wls-target:ドメイン名、クラスタ名、もしくはクラスタのリスト
です。リモートホストに対するssh認可のwalletがまだない場合には作成しておく必要があります。
3. 最後の手順では、OPatchAutoを使ってZDT Patching OracleHomeロールアウトを呼び出します。WLSTにこの時点で切り替え、以前のエントリで説明したように開始することができますが、OPatchAutoはロールアウトの進捗を監視し、有用なフィードバックも返してくれます。OpatchAutoを使ってロールアウトを開始するコマンドの例です。
ここで${ORACLE_HOME}/OPatch/auto/core/bin/opatchauto.sh apply -plan wls-zdt-rollout -image-location /pathTo/image.jar -wls-admin-host ${ADMINHOSTNAME}:7001 -wls-target Cluster1 -backup-home /pathTo/home-backup -remote-image-location /pathTo/image.jar -wallet ${WALLET_DIR}
- image-location:手順1で作成されたJarファイル
- backup-home:オリジナルのOracleHomeのバックアップを格納するための、各リモートノードの場所
です。image-location と remote-image-location は両方指定しておくと、ノードがイメージをなくした場合に自動的にコピーできます。これがここで再度walletが指定されている理由でもあります。
プロセス全体の自動化を見た際に考慮すべきもう一つの素晴らしい点は、これらの同じコマンドを使用して、同じパッチ適用済みOracleHomeアーカイブを検証のためにテスト環境に配布、ロールアウトすることが非常に簡単である、というところにあります。検証がすめば、同じ2つのコマンドを少々変更して、本番環境にまったく同じ(検証済みの)OracleHomeアーカイブをプッシュします。
Zero Downtime PatchingとOPatchAutoを使ったOracleHomeのアップデートに関する詳細は、以下のドキュメントをご覧ください。
Oracle® Fusion Middleware Administering Zero Downtime Patching Workflows 12c (12.2.1)
Using OPatchAuto to Initiate, Revert, and Resume Rolloutshttp://docs.oracle.com/middleware/1221/wls/WLZDT/configuring_patching.htm#WLZDT166