Oracle® OPatch

ユーザーズ・ガイド

リリース12.1 for Windows and UNIX

E49737-05(原本部品番号:E39376-07)

2015年1月

Oracle OPatchユーザーズ・ガイド, リリース12.1 for Windows and UNIX

E49737-05

Copyright © 2015, Oracle and/or its affiliates.All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティ

- 関連ドキュメント

- 表記規則

1 OPatchおよびパッチ適用の概要

- 1.1 パッチ適用プロセスの概要

- 1.1.1 必要なパッチの取得

- 1.1.2 必要なターゲットへのパッチの適用

- 1.1.2.1 手動パッチ適用

- 1.1.2.2 構成パッチ適用

- 1.2 Enterprise Managerでのパッチ適用

- 1.3 OPatchを使用する対象となるユーザー

- 1.4 このガイドの内容

- 1.5 OPatchとその他のOracleソフトウェアの統合

- 1.6 OPatchユーティリティへのアクセス方法

2 OPatchを使用したバイナリ・パッチ適用

- 2.1 最新のOPatchユーティリティの取得

- 2.2 OPatchの使用

- 2.2.1 パッチ適用ワークフロー

- 2.2.1.1 環境変数ORACLE_HOMEの設定

- 2.2.1.2 システムにインストールされている項目の確認

- 2.2.1.3 パッチ適用の前提条件が満たされていることの確認

- 2.2.1.4 パッチの適用

- 2.2.1.5 適用後のチェックの実行

- 2.3 パッチ・セット更新(PSU)の適用

- 2.3.1 単一パッチの適用

- 2.3.2 テキスト・ファイルを使用した複数パッチの適用

- 2.4 パッチの競合の検出および解決

- 2.4.1 パッチの競合

- 2.4.1.1 GI/RACホームにパッチより多数の不具合修正が含まれている

- 2.4.1.2 パッチにGI/RACホームより多数の不具合修正が含まれている

- 2.4.1.3 GI/RACホームとパッチに含まれている不具合修正が同数である

- 2.4.1.4 パッチにGI/RACホームにすでに存在する不具合修正のサブセットが含まれている

3 OPatchautoを使用したパッチ適用オーケストレーション

- 3.1 OPatch自動化(OPatchauto)

- 3.1.1 サポートされるパッチの形式

- 3.1.2 サポートされるターゲット構成

- 3.1.2.1 共有および非共有(GIまたはRAC)ホーム

- 3.1.2.2 パッチ適用モード

- 3.2 単一ノードでのOPatchautoの実行

- 3.2.1 パッチ適用セッションの出力

- 3.3 OPatchauto Apply

- 3.3.1 OPatchauto: システム再起動リクエスト

- 3.4 OPatchautoのパッチ適用ステップの例

4 OPathautoBinary

- 4.1 サポートされているパッチ・タイプ

- 4.2 OPatchautoBinaryで実行される操作

- 4.3 操作の分析モード

- 4.4 SystemPatchのターゲット・タイプ

- 4.5 構文およびコマンド

5 OPatchのトラブルシューティング

- 5.1 エラー・メッセージ

- 5.1.1 最新のOPERRの取得

- 5.1.1.1 OPERRが最新のメッセージ・ファイルを使用しているかどうかの判別

- 5.1.1.2 MOSからの最新のメッセージ・ファイルの取得

- 5.1.1.3 最新のメッセージ・ファイルによるOPERRの実行

- 5.2 デバッグ: ロギングとトレースの有効化

- 5.3 参照

- 5.4 OPatchでサポートされていない製品およびパッチ・タイプ

6 OPatchautoのトラブルシューティング

- 6.1 OPatchautoトラブルシューティング・アーキテクチャ

- 6.2 OPatchauto (ユースケース)

- 6.2.1 OPatchの失敗

- 6.2.2 Rootcrs.pl

- 6.2.2.1 Rootcrs.pl -Prepatch

- 6.2.2.2 Rootcrsに関する問題のユースケース

- 6.2.3 Patchgen

- 6.2.4 datapatch

- 6.3 パッチ適用中の既知の問題

- 6.3.1 既知の問題: rootcrs.pl

- 6.3.1.1 Opatchauto Rollbackの失敗

- 6.3.1.2 リーフ・ノードへのパッチ適用時のOPatchautoの失敗

- 6.3.2 既知の問題: datapatch

- 6.3.2.1 ロールバック中に最後のノードではなく最初のノードでdatapatchが実行される

- 6.3.3 既知の問題: OPatch

- 6.3.3.1 opatch napplyの失敗

- 6.3.4 既知の問題: OPatchauto

- 6.3.4.1 OPatchauto 12.1.0.1.5の既知の問題

- 6.3.4.2 datapatchがすべてのノードで実行される

- 6.3.4.3 OPatchauto再開時にdatapatchが実行されない

- 6.3.4.4 一般的なOPatchautoの失敗

- 6.3.4.5 OPatchautoがエラー・メッセージなしに失敗する

- 6.4 一般的なエラーの症状と状態

- 6.4.1 OPatch Apply (OPERRエラー)

- 6.4.2 Rootcrs.pl -Postpatch

- 6.4.3 Patcherr

- 6.5 OPatchautoログ・ファイル

- 6.5.1 ログ・ファイルのネーミング規則

- 6.5.2 ログ・ファイルの場所

A OPatchの構文およびコマンド

- A.1 OPatchの構文

- A.2 apply

- A.3 compare

- A.4 lsinventory

- A.5 lspatches

- A.6 napply

- A.7 nrollback

- A.8 rollback

- A.9 query

- A.10 version

- A.11 prereq

- A.12 util

B OPatchautoの構文およびコマンド

- B.1 OPatchautoコマンド

- B.1.1 apply

- B.1.2 resume

- B.1.3 rollback

- B.1.4 version

用語集

索引

はじめに

『OPatchユーザーズ・ガイド』では、Oracle製品を最新の状態に維持して保護する、Oracleのパッチ適用ソリューションに関する情報を提供します。

- 対象読者

- ドキュメントのアクセシビリティ

- 関連ドキュメント

- 表記規則

対象読者

このドキュメントは、Enterprise Managerのセキュリティを設定して管理する管理者を対象としています。

ドキュメントのアクセシビリティについて

オラクル社のアクセシビリティへ取組みの詳細は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

Oracle Supportへのアクセス

サポートをご購入のOracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info) か、聴覚に障害のあるお客様は (http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連ドキュメント

これらのドキュメントやその他のOracleドキュメントの最新リリースについては、Oracle Technology Networkの次のページを確認してください。

http://www.oracle.com/technetwork/documentation/index.html#em

Oracle Enterprise Managerには詳細なオンライン・ヘルプも用意されています。Enterprise Managerのページの一番上にある「ヘルプ」をクリックすると、オンライン・ヘルプ・ウィンドウが表示されます。

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 OPatchおよびパッチ適用の概要

OPatchは、Oracleソフトウェアを最新の状態に維持して保護する、パッチ適用ユーティリティから構成されます。ユーティリティには、次のものがあります。

- OPatch: Javaベースのユーティリティで、Oracleソフトウェアへのパッチの適用とロールバックを行います。

- OPatchauto: パッチ適用オーケストレーション・ツールで、ターゲット構成固有のパッチ適用手順を生成し、OPatchを使用してユーザーの操作なしにパッチ適用操作を実行します。具体的に、OPatchautoは次の操作を実行できます。

1. パッチ適用前のチェックの実行

2. パッチの適用

3. パッチ適用後のチェックの実行

4. パッチの削除が必要になった際のパッチのロールバック

- OPatchautoBinary: 選択されたOracleホームに単一パッチを適用するパッチ適用ツール。OPatchautoBinaryは、セッションごとに1つのOracleホームのみパッチを適用します。

これらのユーティリティにより、個別のGI (Grid Infrastructure)/RAC (Real Application Cluster)ホーム環境の分析、トラブルシューティングおよびパッチ適用を柔軟に実行できます。

大規模なIT環境の場合、大量のターゲットに手動でパッチを適用することは単調で間違いが発生しやすい作業であるため、GI/RACホームに個別にパッチを適用するのは現実的ではありません。組織内の多数のターゲットでOracleパッチを維持してデプロイするために、Enterprise Manager Cloud Controlのパッチ適用自動化機能を使用できます。Enterprise Managerのパッチ管理ソリューションの詳細は、Oracle® Enterprise Managerライフサイクル管理の管理者ガイドのパッチ適用ソフトウェアのデプロイメントに関する説明を参照してください。

この章では、紹介と概要に関する次のトピックについて説明します。

- パッチ適用プロセスの概要

- OPatchとその他のOracleソフトウェアの統合

- OPatchを使用する対象となるユーザー

- OPatchユーティリティへのアクセス方法

必要なソフトウェア・パッチおよびこれらのパッチの適用方法を決定する要因は多数存在するため、パッチ適用プロセスは必ずしも単純なものではありません。たとえば、各ターゲットにインストールされているOracleソフトウェアのタイプ、ソフトウェアのバージョンまたはソフトウェアが実行されているプラットフォームなどはその要因のほんの一部です。

1.1 パッチ適用プロセスの概要

パッチが適用される環境ごとの要件には関係なく、基本的なパッチ適用の方法はすべて同じです。一般的なパッチ適用のワークフローは、次の図に示す9つのステップに分割できます。

図1-1 パッチ適用プロセスの概要 - プロセス・フロー

1.1.1 必要なパッチの取得

図1-1「パッチ適用プロセスの概要 - プロセス・フロー」に示すように、最初のステップは必要なパッチを判別することです。必要なパッチに関する情報は、様々なブログ、Oracle Technology Network (OTN)、サービス・リクエスト、ナレッジ記事、Oracleドキュメントまたはその他多数のソースから取得できる場合があります。ただし、パッチ適用に関して信頼できる唯一のソースはOracleサポートのWebサイト—My Oracle Support (MOS)です。

https://support.oracle.com

ここから、ユーザーのOracle環境に必要なパッチの検索および取得を簡単にするインタラクティブなサポート・ツールおよび情報にアクセスできます。次の場所に、MOSに関する完全なドキュメントがあります。

http://docs.oracle.com/cd/E25290_01/index.htm

図1-2 My Oracle Supportメイン・ページ

My Oracle Supportには多数の機能が含まれており、これらの機能はアプリケーションの上部に表示されるタブでグループ化されています。最も興味深いのは、次の図に示す「パッチと更新版」タブです。

図1-3 MOSのパッチと更新版

このページから、特定の構成ごとに必要なパッチを検索できます。特に便利な検索機能の1つに推奨パッチ・アドバイザがあります。推奨パッチ・アドバイザを使用すると、スタンドアロン製品、製品の組合せ、または製品スタック用の製品に対する推奨パッチおよび必須パッチを簡単に検索できます。たとえば、推奨パッチ・アドバイザを使用すると、次の製品用のパッチを検索できます。

- 製品: Oracle Database

- リリース: 11.2.0.2.0

- プラットフォーム: Linux x86-64

この検索では、次の結果が返されます。

パッチ14727315 (PSU)をクリックするとそのパッチ・ページに移動し、ナレッジ記事に関連付けられた、このパッチによって解決される不具合を表示することや、一般的なパッチのREADMEを表示することができます。

このページから、パッチ適用ワークフローのステップ2—ローカル・システムへのパッチのダウンロードも実行できます。次のリストでは、パッチを取得できるソースの概要について説明します。

- Oracleサポート: Oracleサポートのエンジニアと直接やりとりをしている場合は、診断パッチまたは個別パッチを取得できる場合があります。

- My Oracle Support: 定期的なパッチ・メンテナンス・スケジュールの一環として、次のMy Oracle Supportからすべてのパッチを取得できます。
https://support.oracle.com

ログインしたら、「パッチと更新版」タブをクリックして、パッチの検索を開始します。My Oracle Supportでは、パッチを最新状態にしておくためのパッチ・ダウンロード・オプションおよび自動化ツールを提供しています。詳細は、パッチと更新版に関するWebベースのヘルプを参照してください。

http://docs.oracle.com/cd/E25290_01/doc.60/e25224/patchesupdates.htm#CJAGJJGI

- Oracle Technology Network: Oracleソフトウェアの中には、次のOracle Technology Networkを通じて配布されるものがあります。

http://www.oracle.com/technetwork/indexes/downloads/index.html

Oracleパッチのタイプ

オラクル社では、機能のアップグレード、セキュリティの拡張またはサポートされるソフトウェアによる問題の修正に使用できるパッチを定期的に提供しています。主なタイプのパッチを次に示します。

- 個別パッチ - 必要に応じて提供される単一のバグ修正、またはバグ修正のコレクションが含まれます。

- セキュリティ・バグ修正用の個別パッチ - カスタマ固有のセキュリティ・バグ修正が含まれます。

- 診断パッチ - 診断の支援、または修正あるいは不具合修正のコレクションの検証を目的とします。

- バンドル・パッチ更新(BPU) - 特定の製品またはコンポーネント用の修正の累積コレクションです。

- パッチ・セット更新(PSU) - 特定の製品またはコンポーネントを対象とする、効果が高く低リスクの証明済修正の累積コレクションおよびセキュリティ・パッチ更新。

- セキュリティ・パッチ更新(SPU) - セキュリティ・バグ修正の累積コレクション。SPUは、以前はクリティカル・パッチ・アップデート(CPU)と呼ばれていました。

- システム・パッチ - OPatchautoで使用できる形式のサブパッチが含まれます。

- マージ・ラベル・リクエスト(MLR) - 2つ以上の修正をマージしたもの。MLR作成の際には、マージされた新しいセットのコード用のラベルとパッチ・セット例外が必要です。

1.1.2 必要なターゲットへのパッチの適用

必要なパッチを取得して、環境内でパッチを適用する必要があるターゲットを判別し(パッチ適用ワークフローのステップ3)、各ターゲットにパッチを適用します(ステップ4)。ステップ4で、OPatchユーティリティが効果を発揮します。パッチ適用ワークフロー全体を表示するには、図1-1「パッチ適用プロセスの概要 - プロセス・フロー」を参照してください。

注意:
最新バージョンのOPatchがあることを確認します。詳細は、最新のOPatchユーティリティの取得に関する説明を参照してください。

1.1.2.1 手動パッチ適用

OPatchを使用して、パッチのREADMEの一般的な手順に従います。対象となるパッチについて、パッチにバンドルされているパッチのREADMEを表示するか、またはMOSページで直接表示します。

いずれかのコマンドを実装するかまたはコマンドをカスタム・インストール・スクリプトに追加する前に、リンク先のサポート・ドキュメントを確認して、特定の構成に関する詳細を入力する必要があります。これは手間のかかる方法ですが、パッチの競合が発生した際の診断機能と制御は強力になります。第2章「OPatchを使用したバイナリ・パッチ適用」を参照してください。

1.1.2.2 構成パッチ適用

OPatchautoはエンドツーエンドの構成パッチ適用を実行します。構成パッチ適用は、構成に基づいてターゲットにパッチを適用するプロセスです。構成情報をパッチ適用プロセスに組み込むことにより、OPatchautoは手順のほとんどを自動化し、パッチ適用タスクの単純化を可能にしています。

詳細は、第3章「OPatchautoを使用したパッチ適用オーケストレーション」を参照してください。

1.2 Enterprise Managerでのパッチ適用

OPatchユーティリティは非常に便利ですが、一度に1つのGI/RACホームにしかパッチを適用できないため、大量のターゲットにパッチを適用する場合には機能に制限があります。このため、大規模な異機種IT環境への対応が困難で長時間を要する場合があります。

大規模なパッチ適用を処理するために、オラクル社では、OPatchをEnterprise Manager Cloud Control 12cと統合した新しいパッチ適用管理ソリューションを提供しています。Enterprise ManagerをMy Oracle Support (MOS)と緊密に統合することにより、単一のユーザー・インタフェースによるパッチ適用推奨事項の表示、パッチの検索およびパッチのロールアウトを行うことができます。さらに、Enterprise Managerの高度なパッチ計画機能により、パッチ適用ワークフローに関する完全でエンドツーエンドのオーケストレーションを提供します。デプロイメント手順の選択およびパッチの競合の分析を自動化することにより、複雑なIT環境にパッチを適用する際に必要な手動による作業が大幅に削減されます。

Enterprise Managerは、OPatchとMy Oracle Supportを統合してパッチのダウンロードと適用を行います。詳細は、次のドキュメントを参照してください。

- Oracle® Enterprise Managerライフサイクル管理の管理者ガイドの「第VII部: パッチ管理」を参照してください。

http://docs.oracle.com/cd/E24628_01/em.121/e27046/part_patching.htm#BGBJFJBG

- 『Oracle® Enterprise Manager Cloud Control管理者ガイド』の「Enterprise Managerへのパッチ適用」の章を参照してください。

http://docs.oracle.com/cd/E24628_01/doc.121/e24473/patching.htm#CHDEBABC

- EM 12cによるパッチの競合解決およびデプロイメントの自動化(Webキャスト)。

https://oracleaw.webex.com/oracleaw/lsr.php?AT=pb&SP=EC&rID=74843197&rKey=20438fac9f950a34

1.3 OPatchを使用する対象となるユーザー

OPatchは多数のOracle製品インストールと統合されていますが、OPatchを直接使用する必要が生じる場合もあります。コアのOPatchツールは、手動パッチ適用の一環として管理者が直接使用します。OPatchautoはOPatchを起動するため、コアのOPatchについて理解しておくことが有効です。OPatchは、競合の検出と解決、およびトラブルシューティングにも役に立ちます。

注意:
パッチ適用タスクを実行する前に、必ず特別なパッチ適用手順について記載された、パッチのREADMEファイルに目を通しておいてください。

管理タスクで次のような作業が必要な場合は、OPatchユーティリティを使用できます。

- インストールされている製品およびパッチのレポート。

- 1つ以上のパッチの適用。

- 1つ以上のパッチの適用のロールバック。

- 入力パッチ間の競合、および入力パッチと以前に適用されたパッチ間の競合の検出。OPatchでは、競合を解決するための最適なオプションも提示されます。

1.4 このガイドの内容

このドキュメントでは、パッチ適用ユーティリティの使用方法および次のトピックについて説明します。

注意:
パッチを使用する状況に関する推奨事項が、該当するパッチのREADMEに記載されています。最初に必ずREADMEに目を通してください。

- 第2章「OPatchを使用したバイナリ・パッチ適用」 - Oracleホームにパッチを適用する、コアのOPatchツールの基本的な機能について説明します。

- 第3章「OPatchautoを使用したパッチ適用オーケストレーション」 - オーケストレーション・ツールを使用してGIノードに1回でGI-RACまたはExadataパッチを適用する必要がある管理者にお薦めします。

- 第5章「OPatchのトラブルシューティング」

- 第6章「OPatchautoのトラブルシューティング」

- 付録A「OPatchの構文およびコマンド」

- 付録B「OPatchautoの構文およびコマンド」

これらのパッチ適用ツールを使用すると、Oracle製品の構成に応じて、パッチ計画を設計して実装できます。

注意:
Oracle製品にパッチを適用する前には、必ずパッチ適用手順について記載された製品ドキュメントに目を通してください。

1.5 OPatchとその他のOracleソフトウェアの統合

Enterprise Managerの他にも、多数のOracleソフトウェア製品がOPatchユーティリティを統合することにより、シームレスで効率的なパッチ適用タスクを提供しています。アプリケーションによっては、OPatchユーティリティの呼出しが透過的になる場合があり、すべてのパッチ適用アクティビティがそれぞれのアプリケーション内で維持されます。

下に示すアプリケーションは、OPatchをそれぞれの環境内に統合しています。パッチを適用する前には、必ずパッチ適用手順について記載されたユーザー・ドキュメントに目を通してください。

Fusion Middleware/Fusion Applications

Fusion MiddlewareやFusion Applicationsなどの他のOracle製品でもOPatchが統合されていますが、特定のパッチを適用するために別の相互作用が必要になる場合があります。次のドキュメントを参照してください。

- Fusion Middlewareにパッチを適用する場合:

- 『Oracle® Fusion Middlewareパッチ適用ガイド』の2.3項のFusion Middleware環境でのOPatchに関する説明

http://docs.oracle.com/cd/E23943_01/doc.1111/e16793/opatch.htm#PATCH159

- 『Oracle Fusion Middlewareパッチ適用ガイド』の3項の最新のOracle Fusion Middlewareパッチ・セットの適用に関する説明

http://docs.oracle.com/cd/E23943_01/doc.1111/e16793/patch_set_installer.htm

- Fusion Applicationsにパッチを適用する場合:

- Oracle® Fusion Applicationsパッチ適用ガイドの3項のOracle Fusion Applicationsパッチ・マネージャの使用に関する説明

http://docs.oracle.com/cd/E29505_01/fusionapps.1111/e16602/applypatches.htm#CIHBDCBE

1.6 OPatchユーティリティへのアクセス方法

OPatchは多数のOracle製品に統合されており、それぞれの製品(たとえば、Enterprise Manager)をインストールする際に、ユーティリティも自動的にインストールされます。パッチ適用ツールは、次のディレクトリにインストールされます。

- OPatch - $ORACLE_HOME/OPatch/opatch

- OPatchauto - $ORACLE_HOME/OPatch/opatchauto

OPatchでサポートされているコマンドとオプションの完全なリストは、付録A「OPatchの構文およびコマンド」と付録B「OPatchautoの構文およびコマンド」を参照してください。

2 OPatchを使用したバイナリ・パッチ適用

OPatchは、Oracleのソフトウェアに個別パッチを適用またはロールバックするユーティリティです。パッチを適用する手動プロセスは、バイナリ・パッチ適用と呼ばれます。ビット・パッチ適用の場合は、OPatchユーティリティを使用して次の操作を実行できます。

- 最新のOPatchユーティリティの取得

- OPatchの使用

- パッチ・セット更新(PSU)の適用

- パッチの競合の検出および解決

注意:
パッチを適用する前には、必ず特別な手順について記載された、パッチのREADMEを参照してください。
パッチ操作を実行する前に、ORACLE_HOMEをバックアップすることをお薦めします。ORACLE_HOMEは、任意の方法でバックアップできます。ORACLE_HOMEの圧縮には、zip、cp -r、tar、cpioなどの任意の方法を使用できます。

2.1 最新のOPatchユーティリティの取得

ORACLE_HOMEリリースをサポートしているOPatchのバージョンを使用する必要があります。たとえば、12.0.1 Oracleホームにパッチを適用する場合は、OPatchバージョン12.0.1を使用します。Oracleホームがバージョン11.2である場合は、OPatchバージョン11.2を使用します。

My Oracle Supportからダウンロード可能な最近リリースされたOPatch for 12.1リリースを使用することをお薦めします(パッチ6880880)。12.1.0.1.0リリースのARUリンクを選択します。

https://updates.oracle.com/download/6880880.html

最新バージョンのOPatchの参照方法に関するサポート・ドキュメントも参照できます(ドキュメントID 224346.1)。このドキュメントには、MOSからOPatchツールをダウンロードする方法に関するインストラクション・ビデオへのリンクが含まれています。

2.2 OPatchの使用

OPatchコマンドおよび使用可能なオプションを使用する前に、OPatchの前提条件が満たされていることを確認する必要があります。

2.2.1 パッチ適用ワークフロー

OPatchユーティリティを使用してGI/RACホームにパッチを適用する際には、通常次の手順を実行します。

1. 環境変数ORACLE_HOMEの設定

2. システムにインストールされている項目の確認

3. パッチ適用の前提条件が満たされていることの確認

4. パッチの適用

5. 適用後のチェックの実行

2.2.1.1 環境変数ORACLE_HOMEの設定

OPatchによりGI/RACホームが存在するかどうかが検証されます。環境変数ORACLE_HOMEが、パッチを適用しようとしている製品のGI/RACホームに設定されている必要があります。環境変数の設定の詳細は、各ベンダーのドキュメントを参照してください。

注意:
Oracle Universal Installerのバイナリおよびインベントリが、パッチを適用するホーム内に存在する必要があります。

使用されるその他の環境変数は次のとおりです。

- OPATCH_DEBUG - OPatchが実行する必要のあるロギングの量を指定するブール設定。

- PATH — GI/RACホームのパス情報。

注意:
$ORACLE_HOME/OPatchを$PATHに追加すると、任意のディレクトリからOPatchコマンドを実行する場合に便利です。

2.2.1.2 システムにインストールされている項目の確認

次のステップは、システムにすでにインストールされている項目を確認することです。これには、opatch lsinventoryコマンドをpatchまたはpatch_idのいずれかのオプションで使用します。

例2-1 lsinventoryコマンド

opatch lsinventory

このコマンドの詳細は、「lsinventory」を参照してください。

2.2.1.3 パッチ適用の前提条件が満たされていることの確認

現在のシステム構成が適用するパッチに適切なものであることを確認したら、パッチを適用する前にOPatchが実行する操作を表示して、パッチの適用前にすべてのシステム前提条件が満たされているかどうかを確認することをお薦めします。これには、OPatchの-reportオプションを使用して、アクションを実際には実行せずに、OPatchが実行するパッチ適用アクションをすべて出力します。

例2-2 reportオプション

opatch apply -report

-reportオプションの詳細は、「OPatchの構文およびコマンド」を参照してください。

2.2.1.4 パッチの適用

システムにパッチが正常に適用できることを確認したら、OPatchを使用してパッチを適用します。これには、OPatchのapplyコマンドを使用します。

例2-3 applyコマンド

opatch apply /tmp/patch/12345678

このコマンドの詳細は、「apply」を参照してください。

2.2.1.5 適用後のチェックの実行

システムにパッチを適用したら、すべてのパッチが正常に適用されていることを確認するための最終チェックを実行する必要があります。これには、OPatchのlsinventoryコマンドをpatchまたはpatch_idのいずれかのオプションで使用します。このOPatchコマンドの詳細は、「lsinventory」を参照してください。

2.3 パッチ・セット更新(PSU)の適用

前提条件チェックを確認したら、OPatchを使用してパッチを適用します。

- 単一パッチの適用

- テキスト・ファイルを使用した複数パッチの適用

OPatchユーティリティは、$Oracle_Home/OPatchディレクトリにあります。このユーティリティは、様々なコマンドおよびオプションを指定して実行できます。OPatchで使用できるコマンド・オプションの完全なリストは、付録A「OPatchの構文およびコマンド」を参照してください。

2.3.1 単一パッチの適用

前述の一般的なパッチ適用ワークフローに従って、単一パッチを適用します。

1. 最新のOPatchユーティリティの取得

2. 環境変数ORACLE_HOMEの設定

3. システムにインストールされている項目の確認

4. パッチ適用の前提条件が満たされていることの確認

5. パッチの適用

6. 適用後のチェックの実行

パッチをダウンロードしたら、次のコマンドを使用して適用できます(ステップ5)。

# opatch apply <patch directory location>/<patch ID>

例:

# opatch apply /tmp/patch/12345678

2.3.2 テキスト・ファイルを使用した複数パッチの適用

適用する必要があるすべてのパッチの場所を含むテキスト・ファイルを作成できます。OPatchを使用してファイルを参照し、パッチを適用します。

1. パッチの場所に関するテキスト・ファイルを作成します。エントリでは、各行にそれぞれのパッチの場所が含まれている必要があります。

vi patches.txt
/tmp/patchlocation1/12345678
/tmp/patchlocation2/12365478
/scratch/patchlocation3/32165487

変更を保存します。

2. OPatchを使用してパッチを適用します。

# opatch napply - -phBaseFile <location of text file>

例:

#opatch napply - -phBaseFile /tmp/patches/patches.txt

2.4 パッチの競合の検出および解決

OPatchは、パッチを適用する場合に、以前に適用したパッチとの競合を検出およびレポートします。競合がある場合、パッチの適用は失敗します。OPatchの-forceオプションを使用して、このエラーをオーバーライドできます。-forceを指定すると、インストーラは最初に競合パッチをロールバックしてから、目的の個別パッチのインストールに進みます。

不具合の競合が発生し、競合するパッチの削除が必要になる場合があります。このプロセスは、パッチのロールバックと呼ばれます。パッチのインストール時、OPatchは、新規パッチで置換されるすべてのファイルのコピーを保存してから、これらのファイルの新規バージョンをロードし、$ORACLE_HOME/.patch_storageに格納します。これらの保存されたファイルはロールバック・ファイルと呼ばれ、パッチのロールバックを可能にするためのキーとなります。パッチをロールバックする場合、これらのロールバック・ファイルがシステムにリストアされます。パッチのロールバック・プロセスを十分に理解している場合、必要な操作は-forceフラグを使用してデフォルトの動作をオーバーライドすることのみです。パッチをロールバックするには、次のコマンドを実行します。

$ OPatch/opatch rollback -id <Patch_ID>

別々のパッチ内の複数の修正により同じファイルが編集されているが、単一のエンティティとして一度にテストされていない場合、パッチの競合が発生します。OPatchおよびOPatchautoは、これらの状況を識別して競合を回避するために役に立ちます。パッチの競合が発生したが、その競合をドキュメント化されたサポート手順を使用しても解決できない場合、MOSが技術的な支援として信頼できるソースになります。競合の解決には、パッチ適用の問題に対応するためのサービス・リクエストのファイリングおよびマージ・ラベル・リクエスト(MLR)パッチの取得が必要になる場合があります。解決策が見つかったら、OPatchを使用して修正済のパッチを適用します。

一般的なパッチ適用シナリオ

パッチを処理する場合、パッチのコンテンツとGI/RACホームの状態に応じて、考えられるシナリオが4つ存在します。

次の表では、これら4つの状況と推奨アクションについて説明します。

GI/RACホームとパッチ・コンテンツ

説明

アクション

GI/RACホーム>パッチ

パッチよりもGI/RACホーム内に多数の不具合修正が存在します。パッチを適用する必要はありません。

何もしない

GI/RACホーム<パッチ

パッチよりもGI/RACホーム内の不具合修正の方が少数です。パッチを適用する必要があります。

パッチを適用します

GI/RACホーム=パッチ

GI/RACホームとパッチの不具合修正が同数です。

何もしない

GI/RACホームとパッチに共通部分あり

特定の状況下では、不具合修正が重なっている場合とは異なり、パッチを適用する決定が困難な場合があります。たとえば、GI/RACホーム内の不具合修正が1、2、3および4であるとします。適用するパッチに含まれている不具合修正は、3、4、5および6です。この場合、不具合修正3および4は、GI/RACホームとパッチの両方に存在します。パッチをインストールすると、不具合修正3および4が失われます。パッチをインストールすると、一部の不具合修正が失われます。

Oracleサポートに連絡するか、またはMOSパッチ計画機能を使用して競合を解決します。

前述したように、すべてのパッチが相互に互換性があるとはかぎりません。これを競合状況といいます。OPatchはこのような状況を検出し、競合が検出された場合にエラーを生成します。次の項では、表に示したパッチおよび競合の状態について詳細に説明します。

2.4.1 パッチの競合

OPatchは、次のパッチの競合状態を検出できます。

- パッチにGI/RACホームより多数の不具合修正が含まれている

- GI/RACホームにパッチより多数の不具合修正が含まれている

- GI/RACホームとパッチに含まれている不具合修正が同数である

- パッチにGI/RACホームにすでに存在する不具合修正のサブセットが含まれている

2.4.1.1 GI/RACホームにパッチより多数の不具合修正が含まれている

この場合、GI/RACホームには、他の不具合修正に加えてパッチの不具合修正がすでに含まれています。

推奨アクション: 何もしない。

例

次の使用例を考えてみます。

- GI/RACホームにインストールされたパッチAは、不具合の1、2および3を修正しました。

- GI/RACホームにインストールされたパッチBは、不具合の10、11および12を修正しました。

- これからインストールするパッチDは、不具合の1および2を修正します。

パッチDはパッチAのサブセットです。

skip_subsetオプションの使用

以前にGI/RACホームに適用され、現在適用する他のパッチのサブセットになっているパッチを省略する場合、
napplyのskip_subsetオプションを使用できます。たとえば、不具合の1および2を修正するパッチAにnapplyを昨日使用した場合、不具合の1を修正するパッチBと不具合の1、2および3を修正するパッチCに対してskip_subsetオプションを指定してnapply
を今日使用するとします。この場合、サブセット・パッチAは省略され、パッチCがパッチAのスーパーセットになります。

次の例では、skip_subsetフラグを使用した際に表示されるメッセージ出力を示します。

$ OPatch/opatch napply /<path to patch>/ -id 100,101 -skip_duplicate -skip_subset
Oracle Interim Patch Installer version 11.1.0.9.10
Copyright (c) 2012, Oracle Corporation.  All rights reserved.

Oracle Home       : /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1
Central Inventory : /<path to oraInventory directory>/oraInventory
from           : /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1//oraInst.loc
OPatch version    : 11.1.0.9.10
OUI version       : 11.1.0.7.0
Log file location : /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1/cfgtoollogs/opatch/opatch2013-05-14_11-31-29AM_1.log

Verifying environment and performing prerequisite checks...

Conflicts/Supersets for each patch are:

Patch : 100

Bug SubSet of 101
Subset bugs are:
111

Patch : 101

Bug Superset of 100
Super set bugs are:
111Skip these patches because they are subset of other patches in the list:   100
Proceed with these patches:   101
Checking skip_duplicate
Checking skip_subset

OPatch found that the following patches are not required.
They are either subset of the patches in Oracle Home (or) subset of the patches in the given list
(or) duplicate :
100
OPatch continues with these patches:   101

Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name:

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Y

Backing up files...
Applying interim patch '101' to OH '/<path to OH directory>/oraclehome/11.1.0.6/dbhome_1'

Patching component oracle.rdbms.rsf, 11.1.0.7.0...

Verifying the update...
Patches 101 successfully applied.
OPatch Session completed with warnings.
Log file location: /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1/cfgtoollogs/opatch/opatch2013-05-14_11-31-29AM_1.log

OPatch completed with warnings.

表2-1は、applyコマンドおよびnapplyコマンドの予期される動作を示しています。

表2-1 予期される競合の動作

コマンド

GI/RACホーム>パッチ

GI/RACホーム<パッチ

GI/RACホーム=パッチ

GI/RACホームとパッチに共通部分あり

apply

OPatchは、自動ロールバックの次にapplyを実行します。

マージ・リクエストの後、OPatchは、自動ロールバックの次にapplyを実行します。

OPatchは、自動ロールバックの次にreapplyを実行します。

OPatchは競合をレポートします。マージ・リクエストの後、OPatchは、自動ロールバックの次にapplyを実行します。

napply

OPatchは、自動ロールバックの次にapplyを実行します。

OPatchはサブセットをレポートし、サブセットのパッチを省略します。その他のパッチを引き続き適用します。

OPatchは、自動ロールバックの次にreapplyを実行します。

OPatchは競合をレポートし、不具合の競合のパッチを適用せずに再実行するように求めます。

-forceオプションを使用し、競合パッチを自動ロールバックして、新しいパッチを適用するようにOPatchに指示することができます。

napplyの場合は複数のパッチが適用されているため、パッチとGI/RACホームの競合の場合と同様に、パッチがお互いに競合することがあります(OH>パッチ、OH<パッチ、OH=パッチおよびOHとパッチに共通部分あり)。パッチ間の競合が発生した場合は、同じ推奨アクションを適用する必要があります。

次の例では、<patch_location>ディレクトリの下にあるすべてのパッチを適用します。OPatchは、重複するパッチおよびサブセット・パッチ(<patch_location>の下にあるパッチで、GI/RACホームにインストールされているパッチのサブセット)を省略します。

例2-4

opatch napply <patch_location> -skip_subset -skip_duplicate

次の例では、<patch_location>ディレクトリの下にあるパッチ1、2および3を適用します。OPatchは、重複するパッチおよびサブセット・パッチ(<patch_location>の下にあるパッチで、GI/RACホームにインストールされているパッチのサブセット)を省略します。

例2-5

opatch napply <patch_location> -id 1,2,3 -skip_subset -skip_duplicate

2.4.1.2 パッチにGI/RACホームより多数の不具合修正が含まれている

パッチに、すでにGI/RACホームで修正されている不具合修正および追加の不具合修正が含まれている場合、このパッチはすでにGI/RACホームに適用されているパッチのスーパーセットであるとみなされます。パッチがスーパーセットの状態であることが検出された場合、エラーの状態であるとは判断されません。すべてのサブセット・パッチがシステムから削除され、新しいパッチが適用されます。

推奨アクション: パッチを適用します。

例

次の使用例を考えてみます。

- GI/RACホームにインストールされたパッチAは、不具合の1、2および3を修正しました。

- GI/RACホームにインストールされたパッチBは、不具合の10、11および12を修正しました。

- これからインストールするパッチCは、不具合の1、2、3および4を修正します。

パッチCは、パッチAのスーパーセットとみなされます。

-no_bug_supersetフラグの使用

現在のパッチで修正する不具合が、GI/RACホーム・ディレクトリにインストールされているパッチで修正済の不具合のスーパーセットであるか同一の場合にOPatchをエラーにするには、-no_bug_supersetフラグを使用します。

$ OPatch/opatch apply -no_bug_superset <Path_To_Patch>

次の例の出力は、-no_bug_supersetフラグを使用したときに表示されるメッセージを示しています。

$ OPatch/opatch apply -no_bug_superset /<path_to_patch>/patch101_CP1/
Oracle Interim Patch Installer version 11.1.0.9.10
Copyright (c) 2012, Oracle Corporation.  All rights reserved.

Oracle Home       : /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1
Central Inventory : /<path to oraInventory directory>/oraInventory
from           : /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1//oraInst.loc
OPatch version    : 11.1.0.9.10
OUI version       : 11.1.0.7.0
Log file location : /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1/cfgtoollogs/opatch/opatch2013-05-14_11-34-19AM_1.log

Applying interim patch '101' to OH '/<path to OH directory>/oraclehome/11.1.0.6/dbhome_1'
Verifying environment and performing prerequisite checks...
Interim patch 101 is a superset of the patch(es) [  100 ] in the Oracle Home
OPatch system modification phase did not start: Interim patch 101 is a superset of the patch(es) [  100 ] in OH /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1
Log file location: /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1/cfgtoollogs/opatch/opatch2013-05-14_11-34-19AM_1.log

OPatch stopped on request.

2.4.1.3 GI/RACホームとパッチに含まれている不具合修正が同数である

この場合、パッチは、別のパッチで修正されたものと同じセットの不具合を修正します。たとえば、不具合の1、2および3を修正するパッチAを適用した後、さらに不具合の1、2および3を修正するパッチBを適用する場合、パッチBはパッチAの重複になります。パッチは常にそれ自体の重複になります。

skip_duplicateオプションの使用

このオプションを指定する場合、OPatchは適用するパッチのリストから重複パッチを排除します。たとえば、前述のパッチAに対してnapplyを昨日使用し、パッチAおよび他のパッチに-skip_duplicateオプションを指定したnapplyを今日使用すると、重複パッチAが省略されます。

2.4.1.4 パッチにGI/RACホームにすでに存在する不具合修正のサブセットが含まれている

この場合、パッチの競合状態は、現在のパッチで修正される一連の不具合が、以前にインストールしたパッチの1つ以上ですでに修正されている不具合の一部と共通している場合に発生します。

推奨アクション: Oracleサポートに連絡します。MLRパッチが必要になる場合があります。

例

次に、パッチ適用時にこのパッチの競合状態が発生する例を示します。この例では、opatch applyがエラー・コード56で失敗しています。

$ OPatch/opatch apply /<path to patch directory>/patch100_CP0/
Oracle Interim Patch Installer version 11.1.0.9.10
Copyright (c) 2012, Oracle Corporation.  All rights reserved.

Oracle Home       : /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1
Central Inventory : /<path to oraInventory>/oraInventory
from           : /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1//oraInst.loc
OPatch version    : 11.1.0.9.10
OUI version       : 11.1.0.7.0
Log file location : /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1/cfgtoollogs/opatch/100_May_14_2013_12_18_10/apply2013-05-14_12-18-09PM_1.log

Applying interim patch '100' to OH '/<path to OH directory>/oraclehome/11.1.0.6/dbhome_1'
Verifying environment and performing prerequisite checks...
Interim patch 100 is a subset of the patch(es) [  101 ] in OH /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1.
All the fixes of this patch 100 is already present in the Oracle Home. No need to apply this patch.
Log file location: /<path to OH directory>/oraclehome/11.1.0.6/dbhome_1/cfgtoollogs/opatch/100_May_14_2013_12_18_10/apply2013-05-14_12-18-09PM_1.log

Recommended actions: The fixes by this patch are currently in the Oracle Home. There is no need to apply this patch.

OPatch failed with error code 56

3 OPatchautoを使用したパッチ適用オーケストレーション

パッチ適用オーケストレーションとは、パッチ適用前チェックの実行、サービスの停止、バイナリ・パッチの適用、サービスの起動などのパッチ適用ステップの自動実行のことです。Oracle Database 12cのパッチ適用オーケストレーションは、マシンのすべてのデータベースを含む、GI/RAC構成にパッチを適用します。OPatchautoパッチ適用オーケストレーション・ユーティリティは、OPatchユーティリティのバージョン12.1で使用できるようになりました。

この章の内容は、次のとおりです。

- OPatch自動化(OPatchauto)

- 単一ノードでのOPatchautoの実行

- OPatchauto Apply

- OPatchautoのパッチ適用ステップの例

重要:
この章の説明は、Oracle Database 12cにのみ適用されます。

3.1 OPatch自動化(OPatchauto)

OPatchautoを使用すると、最低限の操作で一般的なGrid Infrastructure (GI)およびRACホーム・ディレクトリに自動的にパッチを適用できます。図3-1に、OPatchautoを使用したパッチ適用プロセスのフローの概要を示します。

OPatchautoは、パッチ適用前チェックの大部分(「OPatchの使用」を参照)とパッチ適用後の検証を実行します。OPatchautoの特長は、エンドツーエンドの構成パッチ適用を実行できることです。構成パッチ適用とは、構成に基づいてGIホームまたはRACホームにパッチを適用するプロセスです。構成情報をパッチ適用プロセスに組み込むことにより、OPatchautoは手順のほとんどを自動化し、パッチ適用タスクの単純化を可能にします。

OPatchautoは、GI/RAC構成およびその情報を使用して、サイト構成に固有のパッチ適用手順を自動的に生成します。次に、OPatchautoはOPatchを使用してこれらの手順を実装し、パッチを実際に適用します。

3.1.1 サポートされるパッチの形式

Oracle Database 12cから、パッチは、パッチ自動化をサポートするためにシステム・パッチ形式に変換されました。

システムパッチとは

システム・パッチには複数のサブパッチが含まれ、それらの場所はパッチの最上位レベル・ディレクトリ内のbundle.xmlというファイルによって決定されます。サブパッチは、データベース・ホーム編成に対応するシステムの別のサブシステム用です。

標準的なシステム・パッチの形式は次のように編成されています。

<System patch location - directory>
|_____ Readme.txt (or) Readme.html
bundle.xml
automation
|_____ apply_automation.xml
|_____ rollback_automation.xml
Sub-patch1
|_____ etc/config/inventory.xml
|_____ etc/config/actions.xml
|_____ files/Subpatch1 'payload'
Sub-patch2
|_____ etc/config/inventory.xml
|_____ etc/config/actions.xml
|_____ files/Subpatch1 'payload'

注意:

- Databaseリリース12c以前では、OPatchautoはリリース済個別パッチではサポートされていません。これらの古いリリースについては、OPatchを使用してパッチのREADME手順に従う必要があります。

- OPatchautoおよびシステム・パッチは、Oracle Database 12c以上によってのみサポートされます。

3.1.2 サポートされるターゲット構成

OPatchautoは、次の一般構成に適用できます。

- GIホーム共有

- GIホーム非共有

- RACホーム共有

- RACホーム非共有

- Oracle Restartホーム

3.1.2.1 共有および非共有(GIまたはRAC)ホーム

共有ホームと非共有ホームの構成上の相違点は、OPatchautoを使用するパッチ適用モードを決定する際に効果を発揮します。3.1.2.2項「パッチ適用モード」を参照してください。

3.1.2.2 パッチ適用モード

OPatchautoは、GIまたはRACホームにパッチを適用する際に、ローリングおよび非ローリングの2つのモードをサポートしています。パッチ適用セッションを(最初のノードで)開始する際には、このノードでスタックを起動して稼働させる必要があります。これは、ローリングおよび非ローリングの両方のパッチ適用モードの場合に該当します。

ローリング・モード(デフォルトのモード): ローリング・モードでパッチ適用を実行する際には、特定のノードのORACLE_HOMEプロセスが停止され、パッチが適用されてから、そのノードが再度元の状態に戻されます。このプロセスは、すべてのノードにパッチが適用されるまで、GIまたはRAC環境の各ノードに対して繰り返し実行されます。これは、停止時間が発生しないため、Oracle RAC設定に個別パッチを適用する最も効率的なモードです。すべてのパッチがローリング・モードで適用できるわけではありません。この方法でパッチを適用できるかどうかは、通常はパッチ・メタデータに指定されます。パッチのREADMEでも、パッチをローリング・モードで適用できるかどうかが指定されます。opatchautoコマンドが実行されるノード(GIホーム)はLOCALノードであるとみなされ、他のノードはすべてREMOTEノードであるとみなされます。

ローリング・モード・セッションを開始する際には、1つ以上のリモート・ノードを起動して実行中にする必要があります。

デフォルトでは、OPatchautoはローリング・モードでパッチを適用します。

非ローリング・モード: 12cより前では、非ローリング・アップグレードがすべてのノードでOracleプロセスを停止するものとして定義されていました。12c以降の非ローリング・パッチ適用では、GIスタックをローカル・ノードで起動させる必要があります。最初と最後のノードでパッチを適用する操作では特別な手順を実行する必要があるため、操作を個別に処理する必要がありますが、他のノードと同時に行う必要はありません。非ローリング・パッチ適用は、次の3つのフェーズから構成されています。

12c以降の非ローリング・パッチ適用は、次の3つのフェーズから構成されています。

1. ノード1へのパッチ適用

2. ノード2からn-1へのパッチ適用

3. ノードnへのパッチ適用

非ローリング・モード・セッションを開始する際には、リモート・ノードは起動しません。ローカル・ノードのみ起動する必要があります。

次の図に示すように、指定したn個のノードに対して、1つ目のノードにパッチを適用して非ローリング・パッチ適用セッションを開始し、ノード2からn-1までに同時にパッチを適用して、最後にノードnにパッチを適用してパッチ適用セッションを終了します。

OPatchautoを非ローリング・モードで実行するには、-nonrollingオプションを明示的に指定する必要があります。

前提条件: パッチ適用時のノード可用性(ローリングおよび非ローリング)

新しいパッチ適用セッションを開始するには、次の条件を満たす必要があります。

注意:
次の条件は、最初のノードのみに適用されます(セッションがクラスタで初めて起動されたときなど)。

- ローリング・モードと非ローリング・モードの両方において、ローカル・ノードが起動していること。

- ローリング・モード・セッションを開始するために、リモート・ノードが1つ以上起動していること。

- 非ローリング・セッションを開始するために、すべてのリモート・ノードが停止していること。

パッチ適用モードにおける競合

前述のとおり、デフォルトではOPatchautoはローリング・モードでパッチを適用します。パッチがローリング・モードで適用されているが、パッチ・コンテンツがロール可能でない場合(コンテンツがローリング・モードでの適用をサポートしていない場合)、OPatchautoがrootcrs.pl -prepatchの実行を試みた際にエラーが発生します。

3.2 単一ノードでのOPatchautoの実行

パッチの適用を確実に成功させるために、パッチ適用セッションを常に次の4つのステップから構成することをお薦めします。

1. opatch lsinventoryの実行
実行するタイミング: クラスタの稼働時。

新しいパッチ適用セッションを開始する前には、クラスタのすべてのノードが同じパッチ・レベルにあることを確認する必要があります。

$GRID_HOME/OPatch/opatch lsinventory

出力例

Patch level status of Cluster nodes :
Patching Level           Nodes
--------------           -----
12345678                 node123, node456

2. opatchauto apply -analyzeの実行
実行するタイミング: クラスタの稼働時。

apply -analyzeコマンドは、システム(ビットまたは構成のいずれか)を変更することなく、(可能な場合は)すべての前提条件チェックを実行することにより、OPatchautoのセッション適用をシミュレートします。

3. opatchauto applyの実行
実行するタイミング: クラスタの停止時。

applyコマンドは、指定したシステム・パッチ内のすべてのパッチを、opatchautoコマンドが実行されるGIまたはRACホームに適用します。

4. opatch lsinventoryの実行
実行するタイミング: クラスタの稼働時。

各ノードでopatchauto applyを正常に実行した後は、そのノードでopatch lsinventoryを実行して、パッチ・レベルが正しく更新されていることを確認する必要があります。

3.2.1 パッチ適用セッションの出力

次のパッチ適用セッションの出力例では、OPatchauto applyセッションおよびrollbackセッションが正常に実行されていることを示します。

例3-1 分析モードでのOPatchauto Applyセッション

OPatch Automation Tool
Copyright (c) 2013, Oracle Corporation.  All rights reserved.

OPatchauto version : 12.1.0.1.2
OUI version        : 12.1.0.1.0
Running from       : /scratch/aime_ordb_adc00fao/crso1/crshome_crso1

opatchauto log file: /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/cfgtoollogs/opatchauto/13852018/opatch_gi_2013-10-09_20-59-54_analyze.log

NOTE: opatchauto is running in ANALYZE mode. There will be no change to your system.

Parameter Validation: Successful

Grid Infrastructure home:
/scratch/aime_ordb_adc00fao/crso1/crshome_crso1
RAC home(s):
/scratch/aime_ordb_adc00fao/obase/rachome_raco1

Configuration Validation: Successful

Patch Location: /tmp/patches/13852018
Grid Infrastructure Patch(es): 17027533 17338387 17338388
RAC Patch(es): 17027533 17338387

Patch Validation: Successful

Analyzing patch(es) on "/scratch/aime_ordb_adc00fao/obase/rachome_raco1" ...
Patch "/tmp/patches/13852018/17027533" successfully analyzed on "/scratch/aime_ordb_adc00fao/obase/rachome_raco1" for apply.
Patch "/tmp/patches/13852018/17338387" successfully analyzed on "/scratch/aime_ordb_adc00fao/obase/rachome_raco1" for apply.

Analyzing patch(es) on "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1" ...
Patch "/tmp/patches/13852018/17027533" successfully analyzed on "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1" for apply.
Patch "/tmp/patches/13852018/17338387" successfully analyzed on "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1" for apply.
Patch "/tmp/patches/13852018/17338388" successfully analyzed on "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1" for apply.

SQL changes, if any, are analyzed successfully on the following database(s): raco1

Apply Summary:
Following patch(es) are successfully analyzed:
GI Home: /scratch/aime_ordb_adc00fao/crso1/crshome_crso1: 17027533, 17338387, 17338388
RAC Home: /scratch/aime_ordb_adc00fao/obase/rachome_raco1: 17027533, 17338387

opatchauto succeeded.

例3-2 OPatchauto Applyセッション

OPatch Automation Tool
Copyright (c) 2013, Oracle Corporation.  All rights reserved.

OPatchauto version : 12.1.0.1.2
OUI version        : 12.1.0.1.0
Running from       : /scratch/aime_ordb_adc00fao/crso1/crshome_crso1

opatchauto log file: /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/cfgtoollogs/opatchauto/13852018/opatch_gi_2013-10-09_21-10-46_deploy.log

Parameter Validation: Successful

Grid Infrastructure home:
/scratch/aime_ordb_adc00fao/crso1/crshome_crso1
RAC home(s):
/scratch/aime_ordb_adc00fao/obase/rachome_raco1

Configuration Validation: Successful

Patch Location: /tmp/patches/13852018
Grid Infrastructure Patch(es): 17027533 17338387 17338388
RAC Patch(es): 17027533 17338387

Patch Validation: Successful

Stopping RAC (/scratch/aime_ordb_adc00fao/obase/rachome_raco1) ... Successful
Following database(s) were stopped and will be restarted later during the session: raco1

Applying patch(es) to "/scratch/aime_ordb_adc00fao/obase/rachome_raco1" ...
Patch "/tmp/patches/13852018/17027533" successfully applied to "/scratch/aime_ordb_adc00fao/obase/rachome_raco1".
Patch "/tmp/patches/13852018/17338387" successfully applied to "/scratch/aime_ordb_adc00fao/obase/rachome_raco1".

Stopping CRS ... Successful

Applying patch(es) to "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1" ...
Patch "/tmp/patches/13852018/17027533" successfully applied to "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1".
Patch "/tmp/patches/13852018/17338387" successfully applied to "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1".
Patch "/tmp/patches/13852018/17338388" successfully applied to "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1".

Starting CRS ... Successful

Starting RAC (/scratch/aime_ordb_adc00fao/obase/rachome_raco1) ... Successful

SQL changes, if any, are applied successfully on the following database(s): raco1

Apply Summary:
Following patch(es) are successfully installed:
GI Home: /scratch/aime_ordb_adc00fao/crso1/crshome_crso1: 17027533, 17338387, 17338388
RAC Home: /scratch/aime_ordb_adc00fao/obase/rachome_raco1: 17027533, 17338387

opatchauto succeeded.

例3-3 分析モードでのOPatchauto Rollbackセッション

OPatch Automation Tool
Copyright (c) 2013, Oracle Corporation.  All rights reserved.

OPatchauto version : 12.1.0.1.2
OUI version        : 12.1.0.1.0
Running from       : /scratch/aime_ordb_adc00fao/crso1/crshome_crso1

opatchauto log file: /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/cfgtoollogs/opatchauto/13852018/opatch_gi_2013-10-09_21-43-36_analyze.log

NOTE: opatchauto is running in ANALYZE mode. There will be no change to your system.

Parameter Validation: Successful

Grid Infrastructure home:
/scratch/aime_ordb_adc00fao/crso1/crshome_crso1
RAC home(s):
/scratch/aime_ordb_adc00fao/obase/rachome_raco1

Configuration Validation: Successful

Patch Location: /tmp/patches/13852018
Grid Infrastructure Patch(es): 17027533 17338387 17338388
RAC Patch(es): 17027533 17338387

Patch Validation: Successful

Analyzing patch(es) on "/scratch/aime_ordb_adc00fao/obase/rachome_raco1" ...
Patch "17027533,17338387" successfully analyzed on "/scratch/aime_ordb_adc00fao/obase/rachome_raco1" for rollback.

Analyzing patch(es) on "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1" ...
Patch "17027533,17338387,17338388" successfully analyzed on "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1" for rollback.

SQL changes, if any, are analyzed successfully on the following database(s): raco1

Rollback Summary:
Following patch(es) are successfully analyzed:
GI Home: /scratch/aime_ordb_adc00fao/crso1/crshome_crso1: 17027533, 17338387, 17338388
RAC Home: /scratch/aime_ordb_adc00fao/obase/rachome_raco1: 17027533, 17338387

opatchauto succeeded.

例3-4 OPatchauto Rollbackセッション

OPatch Automation Tool
Copyright (c) 2013, Oracle Corporation.  All rights reserved.

OPatchauto version : 12.1.0.1.2
OUI version        : 12.1.0.1.0
Running from       : /scratch/aime_ordb_adc00fao/crso1/crshome_crso1

opatchauto log file: /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/cfgtoollogs/opatchauto/13852018/opatch_gi_2013-10-09_21-52-51_deploy.log

Parameter Validation: Successful

Grid Infrastructure home:
/scratch/aime_ordb_adc00fao/crso1/crshome_crso1
RAC home(s):
/scratch/aime_ordb_adc00fao/obase/rachome_raco1

Configuration Validation: Successful

Patch Location: /tmp/patches/13852018
Grid Infrastructure Patch(es): 17027533 17338387 17338388
RAC Patch(es): 17027533 17338387

Patch Validation: Successful

Stopping RAC (/scratch/aime_ordb_adc00fao/obase/rachome_raco1) ... Successful
Following database(s) were stopped and will be restarted later during the session: raco1

Rolling back patch(es) from"/scratch/aime_ordb_adc00fao/obase/rachome_raco1" ...
Patch "17027533,17338387" successfully rolled back from "/scratch/aime_ordb_adc00fao/obase/rachome_raco1".

Stopping CRS ... Successful

Rolling back patch(es) from"/scratch/aime_ordb_adc00fao/crso1/crshome_crso1" ...
Patch "17027533,17338387,17338388" successfully rolled back from "/scratch/aime_ordb_adc00fao/crso1/crshome_crso1".

Starting CRS ... Successful

Starting RAC (/scratch/aime_ordb_adc00fao/obase/rachome_raco1) ... Successful

SQL changes, if any, are rolled back successfully on the following database(s): raco1

Rollback Summary:
Following patch(es) are successfully rolled back:
GI Home: /scratch/aime_ordb_adc00fao/crso1/crshome_crso1: 17027533, 17338387, 17338388
RAC Home: /scratch/aime_ordb_adc00fao/obase/rachome_raco1: 17027533, 17338387

opatchauto succeeded.

3.3 OPatchauto Apply

OPatchautoのapplyコマンドを実行すると、完全なパッチ適用サイクルを実装するための多数の操作が実行されます。これらの操作は、パッチが適用される環境に応じて異なります。次に示す環境は、OPatchautoが使用される大部分のパッチ適用環境の代表的なものです。たとえば、一般的なパッチ適用環境は、2つのRACホームを管理している1つのGIホームです。opatchauto applyを実行すると、OPatchautoは、図3-1「OPatchautoを使用したパッチ適用: プロセスのフロー」に示されている操作を実行します。

図3-1 OPatchautoを使用したパッチ適用: プロセスのフロー

3.3.1 OPatchauto: システム再起動リクエスト

パッチまたはホーム・ディレクトリ構成に応じて、システムを再起動するリクエストが発生する場合があります。パッチ適用プロセス時に再起動が行われたら、再度opatchautoユーティリティを起動して、残りのパッチ適用プロセスをシームレスに続行させる必要があります。

通常、問題が発生した際には、次の例に示すようなエラー・メッセージが表示されます。

例3-5 OPatchautoコンソール・エラー

# OPatch/opatchauto apply /scratch/aime/sh/RDBMS_12.1.0.1.0_LINUX.X64_130418/patches/v2/nosql/gipsu/11111111 -ocmrf /tmp/ocm.rsp
OPatch Automation Tool
Copyright (c) 2013, Oracle Corporation.  All rights reserved.
...
[WARNING] The local database instance 'norcl2' from '/scratch/aime1/DB12N/app/aime1/product/12.1.0/dbhome_1' is not running, the following command will NOT be executed:
/bin/bash -c 'ORACLE_HOME=/scratch/aime1/DB12N/app/aime1/product/12.1.0/dbhome_1 ORACLE_SID=$(/scratch/aime1/DB12N/app/aime1/product/12.1.0/dbhome_1/bin/srvctl status instance -d norcl -n slc00epi | cut -d " " -f 2) /scratch/aime1/DB12N/app/aime1/product/12.1.0/dbhome_1/OPatch/datapatch'.
To apply the SQL changes patch all the nodes, bring up the database instance and run this command manually from any one node (run as aime1).

CLSRSC-400: A system reboot is required to continue installing.

...

Apply Summary:
Following patch(es) are successfully installed:
GI_HOME=/u01/GI12/app/12.1.0/grid:13852018, 22222222, 123456788
DB_HOME=/scratch/aime/DB12_2/app/aime/product/12.1.0/dbhome_1:13852018, 123456788
DB_HOME=/scratch/aime1/DB12N/app/aime1/product/12.1.0/dbhome_1:13852018, 123456788

opatchauto failed with error code 1.

次のようなエラーを受信した場合は、コンソールで指定された再起動手順に従います。次に、ユーザーによって発行されたシステム再起動リクエストの例を示します。

3.4 OPatchautoのパッチ適用ステップの例

次の例では、通常のパッチ適用セッション時にOPatchautoが実行するコマンドを示します。パッチが適用される環境は、単一のGIホーム(grid)および単一のRACホーム(dbhome_1)から構成されます。

例3-6 OPatchautoのコマンド

/scratch/aime_ordb_adc00fao/obase/rachome_raco1/OPatch/opatch version -oh /scratch/aime_ordb_adc00fao/obase/rachome_raco1 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -v2c 12.1.0.1.1

/scratch/aime_ordb_adc00fao/crso1/crshome_crso1/OPatch/opatch version -oh /scratch/aime_ordb_adc00fao/crso1/crshome_crso1 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -v2c 12.1.0.1.1

/scratch/aime_ordb_adc00fao/obase/rachome_raco1/OPatch/opatch prereq CheckComponents -ph /tmp/patches/13852018/17027533 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/obase/rachome_raco1

/scratch/aime_ordb_adc00fao/obase/rachome_raco1/OPatch/opatch prereq CheckComponents -ph /tmp/patches/13852018/17338387 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/obase/rachome_raco1

/scratch/aime_ordb_adc00fao/crso1/crshome_crso1/OPatch/opatch prereq CheckComponents -ph /tmp/patches/13852018/17027533 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/crso1/crshome_crso1

/scratch/aime_ordb_adc00fao/crso1/crshome_crso1/OPatch/opatch prereq CheckComponents -ph /tmp/patches/13852018/17338387 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/crso1/crshome_crso1

/scratch/aime_ordb_adc00fao/crso1/crshome_crso1/OPatch/opatch prereq CheckComponents -ph /tmp/patches/13852018/17338388 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/crso1/crshome_crso1

/scratch/aime_ordb_adc00fao/obase/rachome_raco1/OPatch/opatch prereq CheckConflictAgainstOH -ph /tmp/patches/13852018/17027533 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/obase/rachome_raco1

/scratch/aime_ordb_adc00fao/obase/rachome_raco1/OPatch/opatch prereq CheckConflictAgainstOH -ph /tmp/patches/13852018/17338387 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/obase/rachome_raco1

/scratch/aime_ordb_adc00fao/crso1/crshome_crso1/OPatch/opatch prereq CheckConflictAgainstOH -ph /tmp/patches/13852018/17027533 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/crso1/crshome_crso1

/scratch/aime_ordb_adc00fao/crso1/crshome_crso1/OPatch/opatch prereq CheckConflictAgainstOH -ph /tmp/patches/13852018/17338387 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/crso1/crshome_crso1

/scratch/aime_ordb_adc00fao/crso1/crshome_crso1/OPatch/opatch prereq CheckConflictAgainstOH -ph /tmp/patches/13852018/17338388 -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/crso1/crshome_crso1

rm -f /scratch/aime_ordb_adc00fao/obase/rachome_raco1/OracleHome-d7a538c0-c05d-42ca-b2a8-84aefb7a797a.stat

/scratch/aime_ordb_adc00fao/obase/rachome_raco1/bin/srvctl stop home -o /scratch/aime_ordb_adc00fao/obase/rachome_raco1 -n adc00fao -s /scratch/aime_ordb_adc00fao/obase/rachome_raco1/OracleHome-d7a538c0-c05d-42ca-b2a8-84aefb7a797a.stat

echo /tmp/patches/13852018/17027533 > /tmp/OraDB12Home1_patchList

echo /tmp/patches/13852018/17338387 >> /tmp/OraDB12Home1_patchList

/scratch/aime_ordb_adc00fao/obase/rachome_raco1/OPatch/opatch napply -phBaseFile /tmp/OraDB12Home1_patchList -local  -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/obase/rachome_raco1 -silent -ocmrf /tmp/patches/ocm.rsp

/usr/bin/perl /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/crs/install/rootcrs.pl -prepatch

echo /tmp/patches/13852018/17027533 > /tmp/OraGI12Home1_patchList

echo /tmp/patches/13852018/17338387 >> /tmp/OraGI12Home1_patchList

echo /tmp/patches/13852018/17338388 >> /tmp/OraGI12Home1_patchList

/scratch/aime_ordb_adc00fao/crso1/crshome_crso1/OPatch/opatch napply -phBaseFile /tmp/OraGI12Home1_patchList -local  -invPtrLoc /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/oraInst.loc -oh /scratch/aime_ordb_adc00fao/crso1/crshome_crso1 -silent -ocmrf /tmp/patches/ocm.rsp

/scratch/aime_ordb_adc00fao/crso1/crshome_crso1/rdbms/install/rootadd_rdbms.sh

/usr/bin/perl /scratch/aime_ordb_adc00fao/crso1/crshome_crso1/crs/install/rootcrs.pl -postpatch

/scratch/aime_ordb_adc00fao/obase/rachome_raco1/bin/srvctl start home -o /scratch/aime_ordb_adc00fao/obase/rachome_raco1 -n adc00fao -s /scratch/aime_ordb_adc00fao/obase/rachome_raco1/OracleHome-d7a538c0-c05d-42ca-b2a8-84aefb7a797a.stat

/bin/bash -c 'ORACLE_HOME=/scratch/aime_ordb_adc00fao/obase/rachome_raco1 ORACLE_SID=$(/scratch/aime_ordb_adc00fao/obase/rachome_raco1/bin/srvctl status instance -d raco1 -n adc00fao | cut -d " " -f 2) /scratch/aime_ordb_adc00fao/obase/rachome_raco1/OPatch/datapatch'

4 OPathautoBinary

OPatchautoBinaryは、選択されたOracleホームの単一パッチを適用するツールです。セッションごとに1つのOracleホームのみパッチを適用できます。ユーティリティは、ビットを適用する前に前提条件チェックを内部的に実行します。

操作の性質

- OPatchautoBinaryは、ターゲットがすでに停止していることを前提とします。

- OPatchautoBinaryは、Oracleホームへのバイナリ・ビットの適用以外に他の操作を実行しません。

- OPatchautoBinaryは、OPatchコマンドを内部的に使用して操作を実行します。

4.1 サポートされているパッチ・タイプ

OPatchautoBinaryは、セッションごとに1つのパッチのみ適用できます。選択されたパッチは、次のパッチのいずれかである可能性があります。

- 個別パッチ

- 複合パッチ

- SystemPatch (複数のパッチを含む)

4.2 OPatchautoBinaryで実行される操作

OPatchautoBinaryは、選択されたOracleホームで次の操作を実行します:

1. セッション中に適用されるパッチの順序付けされたリストを収集します。複合およびシステム・パッチの場合、リストに1つ以上のパッチを含むことができます。

2. パッチの前提条件チェックを実行します。

3. パッチを適用します。

4.3 操作の分析モード

分析モードで実行する場合、OPatchautoBinaryはパッチの前提条件チェックを実行しますが、ビットを適用しません。分析モードでOPatchautoBinaryを実行するには、-analyzeコマンド・ライン・オプションを使用します。詳細は、「構文およびコマンド」を参照してください。

4.4 SystemPatchのターゲット・タイプ

SystemPatchには、内部にパッチのリストが含まれています。各パッチに対して、適用できるターゲット・タイプのリストが定義されます。デフォルトで、OPatchautoBinaryはSystemPatch内のすべてのパッチを選択されたOracleホームに適用します。OPatchautoBinaryが適用できるパッチのみを選択されたホームに適用するために、特定のターゲット・タイプを指定できます。

4.5 構文およびコマンド

OPatchautoBinaryユーティリティのコマンド・ライン構文は次のとおりです。

opatchauto [ apply | rollback ] <patch_location> -binary -oh <oracle_home path>
[-target_type <target_type>]
[-analyze]
[-invPtrLoc <oraInst.loc> ]
[-jre <JRE Location> ]

オプション

説明

<patch_location>

パッチの場所へのパスです。SystemPatchの場合、このパスにはbundle.xmlファイルが含まれています。

-oh

パッチを適用するOracleホームのパス。

-target_type

これはOracleホームのタイプを指定します。これらは各ターゲット・タイプの事前に定義された値です。

-analyze

前提条件チェックのみを実行して、パッチ・セッションの実行可能性を報告します。

-invPtrLoc

インストールで-invPtrLocオプションを使用した場合にoraInst.locファイルを見つけるために使用されます。oraInst.locファイルのパスにする必要があります。

-jre

このオプションは、Oracleホーム下のデフォルトの場所のかわりに、特定のJRE(Java)の場所を使用します。

例4-1 OPatchautoBinaryの使用

opatchauto apply /scratch/patches/12345678 -binary -target_type cluster -oh <GI_HOME>

5 OPatchのトラブルシューティング

この章では、パッチ適用に関する一般的な問題およびOPatchによるトラブルシューティングについて説明します。次の各項で説明します。

- エラー・メッセージ

- デバッグ: ロギングとトレースの有効化

- 参照

- OPatchでサポートされていない製品およびパッチ・タイプ

5.1 エラー・メッセージ

パッチの適用に関して問題が存在する場合、OPatchはエラー・メッセージを返します。OPatchには統合エラー分析ツールoperrが用意されており、問題の原因と問題を解決するための推奨アクションの両方が記載されています。このツールは次の場所にあります。

$ORACLE_HOME/OPatch/operr

構文:

operr <error code>

operrツールで使用されるエラー情報ファイルは、リリース時の最新版です。ただし、情報は定期的に更新されます。最新の情報ファイルはMOSから取得できます。詳細は、5.1.1項「最新のOPERRの取得」を参照してください。

OPatchが実行に失敗する場合

OPatch自体が実行されない場合、次の2つの可能性が考えられます。

- Oracleホームが設定されていない
推奨アクション: Oracleホームの環境変数を設定します。

- JRE/JDKが見つからない
推奨アクション: opatch applyを-jreオプションで実行します。これにより、インストールされているJRE/JDKの場所が指定されます。

- $ORACLE_HOME/OPatchディレクトリがPATH変数に設定されていません。あるいは、PATH変数が使用されていない場合は、$ORACLE_HOME/OPatchディレクトリに移動していません。

5.1.1 最新のOPERRの取得

この例では、パッチを適用しようとしていますが、OPatchがエラー状態になっています。この場合、メッセージ・ファイルが最新のものではないため、My Oracle Support (MOS)を使用して最新のメッセージ・パッチ・ファイルを取得する必要があります。

次の例では、OPatchにエラー・コード115のエラー・メッセージが表示されています。

例5-1 OPatchのエラー・メッセージ

bash-4.1$ OPatch/opatch apply /scratch/my_admin/tmp/100100_rlib_patch_donot_modify/Oracle Interim Patch Installer version  12.1.0.1.2
Copyright (c) 2013, Oracle Corporation.  All rights reserved.

Oracle Home       : /scratch/my_admin/oraclehome/fmw12/fmwhome_2
Central Inventory : /scratch/my_admin/oraInventory
from           : /scratch/my_admin/oraclehome/fmw12/fmwhome_2//oraInst.loc
OPatch version    : 12.1.0.1.2
OUI version       : 13.1.0.0.0
Log file location : /scratch/my_admin/oraclehome/fmw12/fmwhome_2/cfgtoollogs/opatch/100100_May_09_2013_11_10_30/apply2013-05-09_11-10-21AM_1.log

OPatch detects the Middleware Home as "/scratch/my_admin/oraclehome/fmw12/fmwhome_2"

Applying interim patch '100100' to OH '/scratch/my_admin/oraclehome/fmw12/fmwhome_2'
Verifying environment and performing prerequisite checks...
All checks passed.
Backing up files...

Patching component oracle.fmwconfig.common.shared, 12.1.2.0.0...

There is an error with library regeneration, please refer to the log file for details. OPatch will continue applying the patch.

Verifying the update...
Log file location: /scratch/my_admin/oraclehome/fmw12/fmwhome_2/cfgtoollogs/opatch/100100_May_09_2013_11_10_30/apply2013-05-09_11-10-21AM_1.log

OPatch failed with error code 115

OPERRユーティリティを使用して、対策を決定する必要があります。

5.1.1.1 OPERRが最新のメッセージ・ファイルを使用しているかどうかの判別

OPERRを実行してエラー・コード115に関する最新のトラブルシューティング情報を取得したにもかかわらず、115が未定義のエラー・コードであると示されている場合は、OPERRで使用されているエラー・メッセージ・ファイルが最新のバージョンではありません。

bash-4.1$ OPatch/operr 115
Undefined error code.
You can get the latest messsage file from My Oracle Support using patch 16609471

5.1.1.2 MOSからの最新のメッセージ・ファイルの取得

次のステップは、MOSを介してパッチ16609471から最新のメッセージ・ファイルを取得することです。MOSにアクセスするには、support.us.oracle.comに移動します。次の図の順序は、メッセージ・ファイル・パッチをダウンロードする手順を示しています。

ステップ1: http://support.oracle.comに移動します。

ステップ2: パッチ16609471を検索します。

ステップ3: パッチをダウンロードします。

(オプション)ダウンロードしたパッチのバージョンを確認します。

bash-4.1$ OPatch/operr -version -f /scratch/my_admin/operr.txt
operr version is 12.1.0.1.1
Message file version is 12.1.0.1.1, 05/09/13

5.1.1.3 最新のメッセージ・ファイルによるOPERRの実行

-fオプションを使用すると、MOSからダウンロードしたメッセージ・ファイルをOPERRに指示できます。

bash-4.1$ OPatch/operr 115 -f /scratch/my_admin/16609471/operr.txt
Error code: 115
Error message:  OPatch failed to regenerate library.

5.2 デバッグ: ロギングとトレースの有効化

ロギングとトレースは、デバッグのための一般的な支援機能です。OPatchでは、すべての適用、ロールバックおよびlsinventory操作のログが保持されます。ログ・ファイルは、次のディレクトリにあります。

<ORACLE_HOME>/cfgtoollogs/opatch

各ログ・ファイルには、操作のタイムスタンプのタグが付けられています。ログ・ファイルにはopatch_<date mm-dd-yyyy>_<time hh-mm-ss>.logのような名前が付けられます。

注意:
OPatchを実行するたびに、新しいログ・ファイルが作成されます。

たとえば、ログ・ファイルが2013年5月17日の11.55 PMに作成された場合、名前は次のようになります。

opatch_05-17-2013_23-55-00.log

注意:
環境変数OPATCH_DEBUGをTRUEに設定することにより、OPatchをデバッグ・モードに設定できます。

また、OPatchは、OPatchで実行されたコマンドの索引およびそれに関連付けられているログ・ファイルを、<ORACLE_HOME>/cfgtoollogs/opatchディレクトリにあるopatch_history.txtファイルに保持します。history.txtファイルのサンプルを次に示します。

Date & Time : Tue Apr 26 23:00:55 PDT 2013
Oracle Home : /private/oracle/product/11.2.0/db_1/
OPatch Ver. : 12.1.0.1.2
Current Dir : /scratch/oui/OPatch
Command     : lsinventory
Log File    :
/private/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch-2013_Apr_26_23-00-55-PDT_Tue.log

5.3 参照

この項では、サポートを提供するその他のドキュメントのリストを示しています。メインのリンク先は、MOSにあるOPatchのマスター・ノートに関する説明(ドキュメントID 293369.1)です。

パッチ・セットFAQ: パッチ・セットに関するFAQの詳細は、パッチ・セットFAQに関する説明(ドキュメントID 552777.1)を参照してください。このドキュメントは、My Oracle Supportで入手可能です。

インフォメーション・センター: Oracle Databaseサーバー/クライアントのインストールに関する説明(ドキュメントID 1351428.1)

5.4 OPatchでサポートされていない製品およびパッチ・タイプ

現在、オラクル社では、ハードウェア、オペレーティング・システムを含む、様々な製品を提供しています。ただし、一部の製品で必要なパッチは、現在OPatchではサポートされていません。

注意:
インストールしたOracle製品(Oracle Database、Fusion Middlewareなど)がOracleホーム・ディレクトリを作成した場合、OPatchはそのインストールの一部として提供されます。

通常、OPatchでサポートされていないOracle製品のタイプは次のとおりです。

- ハードウェア(Sunサーバー用のファームウェア・アップデートなど)

- オペレーティング・システム(Oracle LinuxまたはOracle Solaris用のカーネル・パッチ・アップデートなど)

- Java (JREおよびJDK用のパッチ・アップデートなど)

- Oracleホーム・ディレクトリを作成しないソフトウェア製品(Oracle OpenOfficeなど)

6 OPatchautoのトラブルシューティング

この章では、使用中に発生する可能性のある一般的なOPatchautoの問題について説明します。

この章の内容は次のとおりです。

- OPatchautoトラブルシューティング・アーキテクチャ

- OPatchauto (ユースケース)

- パッチ適用中の既知の問題

- 一般的なエラーの症状と状態

- OPatchautoログ・ファイル

6.1 OPatchautoトラブルシューティング・アーキテクチャ

OPatchautoは、パッチ適用プロセスを十分に自動化するために、様々なツール/ユーティリティにアクセスし、様々なパッチ適用フェーズを実行します。主なツール/ユーティリティは次の4つです。

- OPatch - GI/RACホームにパッチを適用します。

- rootcrs - パッチを適用可能にするためのファイルのロック解除およびGIスタックの起動と停止を行うことにより、GIホーム・アクセスを制御します。

- patchgen - パッチ・レベルを記録します。

- datapatch - データベース・インスタンスにSQL変更を適用します。

これらのツール/ユーティリティはパッチ適用プロセス中にアクセスされます。このため、OPatchautoのトラブルシューティングには、個別のツールに関する問題の診断が含まれています。

6.2 OPatchauto (ユースケース)

OPatchautoを使用する際には、解決策を続行する方法が明確ではない問題が発生する場合があります。次のユースケースでは、このような問題が発生する可能性のある一般的なパッチ適用シナリオおよび問題を解決するために使用できる一般的な手順を示します。

6.2.1 OPatchの失敗

詳細は、第5章「OPatchのトラブルシューティング」を参照してください。

6.2.2 Rootcrs.pl

rootcrs.plスクリプトは、クラスタ上にGrid Infrastructureスタックを構成するために必要な処理を実行します。OPatchautoセッション時には、rootcrs.plスクリプトが原因のエラーが発生する場合があります。

6.2.2.1 Rootcrs.pl -Prepatch

OPatchautoが発行するコマンド: $GRID_HOME/crs/rootcrs.pl -prepatch

rootcrs.plが失敗した場合、次の例に示すように、エラー・コードとそれに関連するメッセージが生成されます。

CRS-1159: The cluster cannot be set to rolling patch mode because Grid Infrastructure is not active on at least one remote node.

メッセージが明確ではない場合に追加のヘルプを取得するには、OERRユーティリティを実行して、原因と推奨アクションに関する情報を取得します。

OERRの実行

特定のエラー・コードに対してOERRを実行すると、該当するエラー・コードの原因とアクションの両方が生成されます。

例6-1 CRSエラー

$GRID_HOME/bin/oerr crs 1159

Cause: The cluster could not be set to rolling patch mode because Grid Infrastructure was not active on any of the remote nodes.

Action: Start Grid Infrastructure on at least one remote node and retry the 'crsctl start rollingpatch' command, or retry patching using the non-rolling option.

例6-2 CLSRSCエラー

CLSRSC-400: A system reboot is required to continue installing.

oerr clsrsc 400

Cause: The installation of new drivers requires a node reboot to continue the install.

Action: Reboot the node and rerun the install or patch configuration step.

次の表に、パッチ適用セッション時に発生する可能性のある一般的なエラー・コードを示します。包括的なリストについては、Oracle® Databaseエラー・メッセージのマニュアルを参照してください。

表6-1 CRSエラー・コード

エラー・コード

コンソール・メッセージ

1153

Grid Infrastructureをローリング・パッチ・モードに設定中にエラーが発生しました。

1154

Oracle ASMをローリング・パッチ・モードに設定中にエラーが発生しました。

1156

クラスタがアップグレードの途中であるため、ローリング・パッチ・モードの変更を拒否しています。

1157

クラスタが強制的にアップグレードされたため、ローリング・パッチ・モードの変更を拒否しています。

1158

クラスタをローリング・パッチ・モードに設定中にエラーが発生しました。

1159

Grid Infrastructureは少なくとも1つのリモート・ノードでアクティブではないため、クラスタはローリング・パッチ・モードに設定されません。

1162

パッチ・レベルがクラスタのすべてのノード間で一致していないため、ローリング・パッチ・モードの変更を拒否しています。ノード<patch_list>の所定のパッチ・レベルがパッチ・レベル<patch_level> (ノード<node_list>で見つかった)と同じではありません。

1163

Grid Infrastructureのローリング・パッチ・モードをリセット中にエラーが発生しました。

1164

Oracle ASMのローリング・パッチ・モードをリセット中にエラーが発生しました。

1166

Oracle ASMが<current_state>状態にあるため、ローリング・パッチ・モードの変更を拒否しています。

1168

クラスタのローリング・パッチ・モードをリセット中にエラーが発生しました。

1171

パッチ・レベルがクラスタのすべてのノード間で一致していないため、ローリング・パッチ・モードの変更を拒否しています。ノード<node_list>のパッチ・レベルがパッチ・レベル<patch_level> (ノード<node_list>で見つかった)と同じではありません。

1181

Grid Infrastructureのリリース・パッチ・レベルを取得中にエラーが発生しました。

1183

Grid Infrastructureのリリース・パッチ・レベルは<patch_level>で、パッチ<patch_list>の不完全なリストがローカル・ノード上で適用されています。

1191

Grid Infrastructureのソフトウェア・パッチ・レベルを取得中にエラーが発生しました。

6.2.2.2 Rootcrsに関する問題のユースケース

問題1: ロール不可能なパッチがローリング・モードで適用されている

2ノード(ノード1およびノード2)構成において、ロール不可能なパッチをローリング・モードで適用しようとしています。

注意:
デフォルトでは、OPatchautoはローリング・モードでパッチを適用します。

パッチをローリング・モードで適用しているため、すべてのデータベースおよびスタックは停止していません。OPatchautoを実行すると、予定どおりにスタック・インベントリを出力し、バイナリを更新します。

症状

rootcrs.pl -postpatch (Oracleパッチ適用ツール(OPatch)の起動後に必要な手順を実行)を実行すると、複数のノードのASMインスタンスのパッチ・レベルが異なることが原因で失敗します。この状況では、OPatchauto (OPatchを実行)は、ゼロ以外の終了コードで失敗します。ただし、パッチはGIホームに残されたままです。スタックは起動できません。

推奨アクション

重要なのは、この状況ではパッチはすでにノード1に適用されているため、ロールバックする必要はないということです。通常、スタックの起動を試みるのは、最後に実行するステップです。スタックの起動に失敗した場合でも、パッチはノードに正常に適用されています。

パッチはロール不可能であるため、スタックに関する問題を解決するには、次の手順を実行します。

1. すべてのノードのスタックを停止します。

2. パッチREADMEに記載されている手動の手順に従って、残りのノードにパッチを適用します。

3. すべてのノードのスタックを再起動します。

問題2: OPatchautoがGIホームへのパッチ適用に失敗する

サブパッチ(P1およびP2)を含む1つのシステム・パッチがあります。OPatchauto applyを実行すると、最初にRACホームにパッチを適用します。このシナリオでは、P1は時刻t1にRACに適用され、P2は時刻t2にRACに適用されます。OPatchautoは、時刻t3にサブパッチP2をGIホームに適用しようと試みますが、失敗します。

症状

OPatchautoは、ゼロ以外の終了コードで失敗します。エラー・メッセージは、GIホームでサブパッチP2を適用した際に失敗したことを示しています。エラー・メッセージには、ログ・ファイルの場所も記載されています。現在、RACホームにはP1およびP2が含まれていますが、GIホームではP2が欠落しています。

推奨アクション

欠落したパッチをGIホームに適用する必要があります。システム・パッチはすでにRACホームに正常に適用されているため、パッチをロールバックする必要はありません。

1. ログ・ファイルから、GIホームでのパッチ適用が失敗した原因を判別します。

2. GIホームでのパッチ適用が失敗したことに関する問題を修正します。
GIホームでのパッチ適用が失敗した場合、考えられる原因が3つあります。

- patchgen -- この状況では、patchgenユースケースで指定した推奨アクションを参照してください。また、Patchgenに関する説明も参照してください。
GIホームに手動でパッチを適用する必要があります。手順は、パッチのREADMEを参照してください。

- opatch -callコマンドが失敗しました。この状況では、OPatch実行時にエラーが発生しています。たとえば、OPatchが必要なファイルをコピーできていません。

- rootcrs.pl -prepatch (OPatchを起動する前に、必要な手順を実行)が失敗しました。
失敗の原因に関係なく、問題を解決してパッチを手動でGIホームに適用する必要があります。

3. GIホームでopatchauto resumeを再実行します。OPatchautoによって、パッチ適用が失敗した時点から再開されます。

6.2.3 Patchgen

問題

システム・パッチを適用すると、patchgenで発生したエラー状態の結果としてOPatchautoが失敗します。

症状

OPatchautoが失敗した際には、patchgenで発生した問題が原因でパッチの適用に失敗したことを示すSTDOUTエラー・メッセージが表示されます。

推奨アクション

1. エラー・メッセージがpatchgenエラーの結果として表示されたものであるかどうかを判別します。メッセージ出力でキーワード「patchgen」を検索することにより、エラーの原因がpatchgenであるかどうかを判別できます。次に、patchgenによって生成されたエラー・メッセージの例を示します。キーワード「patchgen」とそれに関連するエラー・コードは太字で示されています。

例6-3 Patchgenエラー出力

$export ORACLE_HOME=/scratch/GI12/product/12.1.0/crs
$/scratch/GI12/product/12.1.0/crs/bin/patchgen commit -pi
13852018 loading the appropriate library for linux
java.lang.UnsatisfiedLinkError:
/scratch/GI12/product/12.1.0/crs/lib/libpatchgensh12.so (libasmclntsh12.so:
cannot open shared object file: No such file or directory)

2. patchgenエラー・コードに応じて、oerrコマンドを実行し、patchgenで発生した特定の問題の原因とその問題を解決するための推奨アクションを取得します。推奨アクションを実装します。OERRの実行に関する説明を参照してください。

3. patchgenエラーが発生すると、パッチを維持するかまたはロールバックするかを尋ねられます。デフォルトでは、patchgenはパッチをロールバックします。パッチをロールバックするどうかにより、次のステップでの対策が決定されます。

- パッチがロールバックされなかった場合は、patchgenを再度実行します。
エラーが発生した場合でも、パッチ自体はロールバックされていないため、GI/RACホームに残されたままです。

- パッチがロールバックされた場合、OPatchautoはシステム・パッチをRACホームに適用しますが、サブパッチはすべてがGIホームに適用されるわけではありません。この時点で、システム・パッチの一部のみをGIホームに適用する必要があります。
OPatchは、lsinventoryを介して適用されなかったパッチを通知します。特定のサブパッチを適用するには、次の手順に従って手動でパッチを適用する必要があります。

1. スタックを停止します。

2. GIホームでopatch apply (OPatchautoではなく)を実行します。

手動によるパッチ適用の明示的な手順は、パッチのREADMEを参照してください。

次の表に、生成される可能性があるpatchgenエラー・コードを示します。

表6-2 Patchgenエラー・コード

エラー・コード

理由

デバッグ情報

2

内部エラー

一般的な失敗エラー・コード。

3

内部エラー

MS Windows: リソース・ファイルの読取りエラー。

4

内部エラー

MS Windows: リソース・ファイルの書込みエラー。

5

内部エラー

Unix: パッチ・リポジトリを開くのに失敗しました。

6

内部エラー

Unix: フルパスlibasmclntshの正規化に失敗しました。

7

内部エラー

Unix: パッチ・リポジトリへの書込みに失敗しました。

18

内部エラー

PGAの初期化に失敗しました。

19

内部エラー

パッチ・イテレータの初期化に失敗しました。

40

構文エラー。適切なメッセージが表示されます。

patchgenの引数がありません。

例: $]patchgen

41

構文エラー。適切なメッセージが表示されます。

引数がありません。

patchgen commit/recover

例: patchgen commit

42

構文エラー。適切なメッセージが表示されます。

-pi patchidsが数字ではありません。

例: patchgen commit -pi 123d

43

構文エラー。適切なメッセージが表示されます。

-rb patchidsが数字ではありません。

例: patchgen commit -rb 123d

44

構文エラー。適切なメッセージが表示されます。

次のコマンドの引数が、

patchgen commit/recover

-piまたは-rb以外になっています。

例: patchgen recover -random

45

構文エラー。適切なメッセージが表示されます。

Patchgenが無効な引数を指定して起動されました。

例: patchgen comit -pi

46

libpatchgensh12.soのロードに失敗しました。

6.2.4 datapatch

問題

OPatchautoを実行して、4つのGI/RACホームにパッチを適用しようとしています。このパッチには、データベースを更新するためのビットおよびSQLの両方が含まれています。OPatchautoを実行すると、次の2つのアクションが実行されます。

- GI/RACホームへのビットの適用

- SQLの実行(datapatchコマンドを使用)

通常は、GI/RACホームごとにOPatchautoを実行します。実行するごとに、OPatchautoはdatapatchを呼び出してパッチSQLを実行します。datapatchは、最初のn-1ノードでは何も実行しません(no-op)。最後(n番目)のノードで、datapatchはパッチSQLの実行を試みます。

datapatchが失敗した場合は、エラー・メッセージが表示されます。エラーの原因がdatapatchであるかどうかを確認するには、OPatchautoデバッグ・ログを表示します。

症状

SQLPatch/datapatchが失敗したことを示す警告メッセージが表示されます。datapatchが最後のノードへのSQLの適用に失敗した際に、警告メッセージが生成されました。

推奨アクション

通常、警告メッセージは無視でき、最後のノードで手動でdatapatchを実行します。datapatchはデータベースへの接続を確立し、問合せ可能なインベントリ(http://docs.oracle.com/cd/E16655_01/appdev.121/e17602/d_qopatch.htm)を使用して、Oracleホームのバッチ・インベントリに関する情報を取得します。Oracle Databaseへの接続の確立に関する問題は、Oracleエラー・コードによる説明と適切な処置が示されているORA-nnnnnエラーになる可能性があります(http://docs.oracle.com/cd/B28359_01/server.111/b28278/toc.htm)。さらに、問合せ可能なインベントリには、いくつかの予想されるORA-nnnnnがあります。このようなエラーのリストは、http://docs.oracle.com/cd/E16655_01/appdev.121/e17602/d_qopatch.htm#CEGIFCHHで参照することができます。他の問題については、Oracleサポートに連絡してください。

ロール可能なパッチとロール不可能なパッチ: パッチは、ローリング・モードまたは非ローリング・モードのいずれかで適用するように設計されています。ローリング・モードと非ローリング・モードの詳細は、「パッチ適用モード」を参照してください。パッチがロール可能であるかまたはロール不可能であるかに応じて、対策を決定します。

パッチがロール可能である場合、SQLスクリプトに関してパッチに依存性はありません。データベースを問題なく起動できます。ロール可能なパッチは、ローリング・モードと非ローリング・モードの両方で適用できます。

ただし、パッチがロール不可能である場合は、最初にパッチをロールバックする必要があります。OPatchautoは、ロール不可能なパッチをローリング・モードでは適用できないようにします。

順序

1. OPatchautoが、datapatch/sqlpatchについての警告とともに成功します。

2. ロール可能なパッチの場合:

1. ノード1からノード(n-1)までのdatapatchエラーは無視します。

2. 最後のノード(ノードn)で、datapatchを再度実行します。このコマンドはログ・ファイルから切り取って貼り付けることができます。

3. 最後のノードでまだdatapatchエラーが発生する場合は、Oracleサポートに連絡するか、またはサービス・リクエストを開きます。

3. ロール不可能なパッチの場合:

1. すべてのノードですべてのデータベースとスタックを手動で停止します。

2. それぞれのノードでopatchauto applyを実行します。

3. スタックとデータベースを起動します。datapatchが接続してSQLを適用するために、データベースを起動する必要があります。

4. 最後のノードで、datapatchを手動で実行します。datapatchを実行しないと、パッチのSQLが適用されず、不具合修正の効果がありません。さらに、SQLを実装するための変更内容によっては、システムの動作が不正確になる場合があります。

5. まだdatapatchが失敗する場合は、パッチをロールバックする必要があります。Oracleサポートに連絡して支援を要請するか、またはサービス・リクエストを開きます。

6.3 パッチ適用中の既知の問題

次のパッチ適用シナリオは、パッチ適用中に発生する可能性のある既知の問題の例です。

6.3.1 既知の問題: rootcrs.pl

次の問題は、rootcrs.plの実行に関連しています。

6.3.1.1 Opatchauto Rollbackの失敗

問題

-norestartオプションが指定されていると、rootcrs.pl -postpatchでopatchauto rollbackが失敗します。

症状

10月のPSUパッチのロールバック時に、-norestartモードでのOPatchautoの実行がrootcrs.pl -postpatchステップで失敗します。

例6-4 コンソール出力

Starting CRS ... Failed
Command "/usr/bin/perl /scratch/GI12/app/12.1.0/grid/crs/install/rootcrs.pl
-postpatch -norestart" execution failed:
Died at /scratch/GI12/app/12.1.0/grid/crs/install/crspatch.pm line 851.

推奨アクション:

前提条件である個別パッチが必須です。

6.3.1.2 リーフ・ノードへのパッチ適用時のOPatchautoの失敗

問題

リーフ・ノードのスタックが稼働していない場合、フレックス・クラスタのリーフ・ノードのopatchautoが失敗します。

症状

スタックがクラスタで稼働していない場合、フレックス・クラスタのリーフ・ノードでのOPatchautoの実行が失敗します。これは、ローリング・モードおよび非ローリング・モードの両方のパッチ適用で発生します。次の例で示されるコンソール・メッセージとともにrootcrs.pl -prepatchが失敗します。

例6-5 コンソール出力

Using configuration parameter file: crs/install/crsconfig_params 2013/09/27 06:00:01 CLSRSC-455: Failed attempt to initiate patch on a Leaf node

推奨アクション:

パッチ適用の前に、リーフ・ノードのスタックを起動します。

6.3.2 既知の問題: datapatch

次の問題は、datapatchの実行に関連しています。

6.3.2.1 ロールバック中に最後のノードではなく最初のノードでdatapatchが実行される

問題

opatchauto rollbackの実行中、最初のノードそのものでSQLの変更がロールバックされます。

症状

SQLの変更は最初のノードからロールバックされます。

例6-6 ログ・ファイル出力

Output from the command:
2013-10-07_05-16-28 :
SQL Patching tool version 12.1.0.1.0 on Mon Oct  7 05:15:31 2013
Copyright (c) 2012, Oracle.  All rights reserved.
.
Connecting to database...OK
Determining current state...done
The following patches will be rolled back: 17027533

推奨アクション

パッチがすべてのノードからロールバックされる場合は、メッセージを無視します。回避策はありません。

6.3.3 既知の問題: OPatch

次の問題は、OPatchの実行に関連しています。

6.3.3.1 opatch napplyの失敗

問題

アクティブ・ファイルが原因で、CRSホームでのopatch napplyステップ時にOPatchautoが失敗します。

症状

Gridホームのパッチ適用時にOpatchautoが失敗します。

例6-7 ログ・メッセージ

[Sep 19, 2013 6:52:14 PM]    Following executables are active :
/u01/app/12.1.0/grid/lib/libclntsh.so.12.1
[Sep 19, 2013 6:52:14 PM]    Prerequisite check
"CheckActiveFilesAndExecutables" failed.

推奨アクション

少し時間を置いてから、opatchauto resumeを実行します。

6.3.4 既知の問題: OPatchauto

次の問題は、OPatchautoの実行に関連しています。

6.3.4.1 OPatchauto 12.1.0.1.5の既知の問題

次の問題は、OPatchautoバージョン12.1.0.1.5のみに関連しています。

6.3.4.1.1 ソフトウェアのみのホーム

問題: OPatchautoでは、ソフトウェアのみのホームはサポートされません。

症状: config.shが次のエラー・メッセージで失敗します。

kfod.bin: cannot execute: No such file or directory

推奨アクション: パッチREADMEの指示に従って、パッチを手動で適用します。

6.3.4.1.2 OPatchautoが共有ホームを判別できない

問題: OPatchautoが共有ホームを見つけられないためエラーが発生します。これは共有ホームと非共有ホームのどちらでも発生することがあります。

症状: OPatchautoによって次のエラーが生成されます。

System Configuration Collection failed: oracle.osysmodel.driver.crs.productdriver.ProductDriverException: Unable to determine if "ORACLE HOME" is a shared oracle home.

推奨アクション: OracleホームでROOTとして次のコマンド(以下の例)を実行して、根底にある問題を判別します。コマンドは、opatchautoが実行されたのと同じ場所で実行してください。

RACホームの場合:

su <RAC OWNER> -c "$GRID_HOME/bin/cluvfy comp ssa -t software -s

$DB_HOME -n $NODELIST -display_status"

GRIDホームの場合:

su <GRID OWNER> -c "$GRID_HOME/bin/cluvfy comp ssa -t software -s

$GRID_HOME/crs/install -n $NODELIST -display_status"

例:

su <GRID OWNER> -c "$GRID_HOME/bin/cluvfy comp ssa -t software -s

$GRID_HOME/crs/install -n node1,node2,node3 -display_status"

根底にある問題が解決してから、opatchautoを再び実行します。

6.3.4.1.3 RAC Oneに関連する問題:

問題: OPatchautoがRAC Oneデータベースのステータスを検出できません。このため、データベースにSQLの変更を適用できません。

症状: OPatchautoによってコンソールに次のメッセージが表示されます。

[WARNING] The local database instance 'INST' from 'RAC_HOME' is not running. SQL changes, if any, will not be applied.

推奨アクション: RAC Oneデータベースに対してdatapatchコマンドを手動で実行します。正確なコマンドはopatchautoログ・ファイルに表示されます。

6.3.4.1.4 -norestartモードでのOPatchautoの動作

問題: OPatchautoを-norestartモードで実行した場合にも、メッセージ「Starting CRS ... Successful」が表示されます。

症状: OPatchautoによってコンソールにこのメッセージが表示されます。

Starting CRS ... Successful

推奨アクション: メッセージを無視します。OPatchautoによって必要な処理が実行されます。実際にはCRSは起動されません。

6.3.4.1.5 OPatchautoがSystemPatch内の入力サブセット・パッチを適用できない

問題: 既存のパッチのサブセットである個別パッチがシステム・パッチに含まれる場合、OPatchautoはそのシステム・パッチを適用できません。

症状: コマンドopatch prereq CheckConflictAgainstOHが失敗したと報告されます。

推奨アクション: ホームでスーパーセット・パッチをロールバックし、システム・パッチを適用してから、スーパーセット・パッチを再び適用します。

6.3.4.1.6 OPatchautoがsrvctl start homeでエラー・コードCRS-2717で失敗する

問題: OPatchautoがRACホームを起動できません。

症状: エラー・メッセージにコードCRS-2717が含まれます。

推奨アクション: OPatchautoログ・ファイルに表示される保留中の手順を手動で実行します。

6.3.4.1.7 SystemInstanceの作成の失敗

問題: OPatchautoがシステム・インスタンスの作成に失敗します。

症状: システム構成収集エラー: oracle.osysmodel.driver.crs.productdriver.ProductDriverException: oracle.ops.mgmt.cluster.ClusterInfoException: PRKC-1094 : crsのアクティブ・バージョンの取得に失敗しました:

推奨アクション: 使用可能な修正は、バグ19262534を参照してください。

6.3.4.2 datapatchがすべてのノードで実行される

問題

opatchauto applyまたはopatchauto rollbackの実行によって、datapatchがすべてのノードで実行されます。

症状

パッチを適用する最初のノードで、RACデータベースがそのノードで構成されている場合、例6-8に示すメッセージが表示されます。

例6-8 コンソール出力

SQL changes, if any, are applied successfully on the following database(s):

推奨アクション

このメッセージは無視してかまいません。datapatchステップによって行われるSQLの変更についての詳細は、OPatchautoデバッグ・ログから取得できます。datapatchが、以前のパッチ適用セッションで保留になったSQL変更を適用していた可能性もあります。

6.3.4.3 OPatchauto再開時にdatapatchが実行されない

問題

opatchauto resume -rebootでdatapatchステップが実行されません。

症状

opatchauto resume -rebootコマンドで、datapatchステップが実行されません。

推奨アクション

datapatchステップは、いずれのノードからも手動で実行できます。保留中のすべての変更も、次のOPatchautoセッションのdatapatchコマンドによって実行されます。

環境変数ORACLE_HOMEおよびORACLE_SIDを設定し、次のコマンドを実行します。

$ORACLE_HOME/OPatch/datapatch

6.3.4.4 一般的なOPatchautoの失敗

問題

特定のステップの実行中に、opatchautoコマンドが失敗します。

症状

ある手順の実行中にOPatchautoが失敗した場合は、必ず、失敗した手順を含むすべての保留中の手順が「次の手順はまだ実行する必要があります」としてデバッグ・ログにリストされます。

例6-9 デバッグ・ログ・メッセージ

-------------------Following steps still need to be executed-------------------
/usr/bin/perl /scratch/GI12/app/12.1.0/grid/crs/install/rootcrs.pl -postpatch (TRIED BUT FAILED)

/scratch/aime/DB12/app/aime/product/12.1.0/dbhome_1/bin/srvctl start home -o /scratch/aime/DB12/app/aime/product/12.1.0/dbhome_1 -n slc00eaj -s /scratch/aime/DB12/app/aime/product/12.1.0/dbhome_1/OracleHome-e97923af-d77e-42fc-be51-6459b56daed6.stat

2013-10-07_23-50-31 :
Ignoring the dbconsole command.
2013-10-07_23-50-36 :
Executing the datapatch command:
/bin/bash -c 'ORACLE_HOME=/scratch/aime/DB12/app/aime/product/12.1.0/dbhome_1 ORACLE_SID=$(/scratch/aime/DB12/app/aime/product/12.1.0/dbhome_1/bin/srvctl status instance -d orcl -n slc00eaj | cut -d " " -f 2) /scratch/aime/DB12/app/aime/product/12.1.0/dbhome_1/OPatch/datapatch'

[WARNING] The local database instance 'orcl1' from '/scratch/aime/DB12/app/aime/product/12.1.0/dbhome_1' is not running. SQL changes, if any,  will not be applied.
To apply the SQL changes, bring up the database instance and run the above command manually from any one node (run as aime).

推奨アクション

datapatchステップに関連するすべての警告/情報メッセージを無視し、datapatchステップを、そのセクションに表示されるその他のすべてのステップとともに実行します。

6.3.4.5 OPatchautoがエラー・メッセージなしに失敗する

問題

opatchautoコマンドが、コンソールにエラー・メッセージやスタック・トレースも出力せずに失敗します。

症状

コンソールおよびログ・ファイルには次のメッセージが表示されます。

例6-10 コンソール出力

Starting CRS ... Failed

例6-11 ログ・メッセージ

Failed to run this command :
/usr/bin/perl $GRID_HOME/crs/install/rootcrs.pl -postpatch

Executing command:
$RAC_HOME/bin/srvctl start home …

推奨アクション

次の場所にあるcrspatchログ・ファイルを参照し、タイムスタンプがOPatchautoの実行時間を指していることを確認します。

$GRID_HOME/cfgtoollogs/crsconfig/crspatch_<hostname>_<timestamp>.log

このファイルに「CLSRSC-400: インストールを続行するにはシステムの再起動が必要です。」というメッセージが含まれる場合は、次の手順に従います。

1. マシンを再起動します。

2. 次のコマンドを実行します。
opatchauto resume -reboot

6.4 一般的なエラーの症状と状態

次に一般的なエラー状態を示します。

6.4.1 OPatch Apply (OPERRエラー)

詳細は、「エラー・メッセージ」を参照してください。

6.4.2 Rootcrs.pl -Postpatch

製品スタックを起動しようとする際にパッチの試行が失敗するようなパッチ・シナリオです。

6.4.3 Patcherr

再リンクの失敗が原因で、パッチの試行が失敗するパッチ・シナリオです。

6.5 OPatchautoログ・ファイル

ログ・ファイルを使用すると、パッチ適用セッション時に問題が発生した場合の診断ができます。OPatchautoは、applyおよびanalyzeの両方の操作に対してログ・ファイルを生成します。

1回のOPatchautoセッションで、3つのタイプのログ・ファイルが生成されます。

- 標準ログ・ファイル

- デバッグ・ログ・ファイル

- ステップ・ログ・ファイル

標準ログ・ファイル

標準ログ・ファイルには、パッチを適用したGI/RACホーム、適用したパッチおよび指定したパッチ・オプション(ローリング、非ローリングなど)などの基本的なセッション情報が含まれています。

デバッグ・ログ・ファイル

デバッグ・ログ・ファイルは、ログ・ファイルのスーパーセットで、Oracleサポートが使用することを目的としています。デバッグ・ログ・ファイルには、標準ログ・ファイルの内容の他に、詳細なセッション情報が含まれています。たとえば、実行された各コマンドに対するコマンドの出力もログに記録されます。

ステップ・ログ・ファイル

ステップ・ログ・ファイルには、パッチ適用セッション時にOPatchautoが生成した手順のみが含まれています。このファイルを使用すると、無関係な情報を無視してOPatchautoが実行した手順を表示できます。パッチ適用セッション時に問題が発生した場合は、パッチ適用プロセスのどのステップで失敗したのかを確認できます。

6.5.1 ログ・ファイルのネーミング規則

OPatchautoのログ・ファイル名は、次のネーミング規則を使用して生成されます。

表6-3 ログ・ファイルのネーミング規則(デプロイ)

ログ・ファイル

ネーミング規則

標準

opatch_gi_<timestamp>_deploy.log

デバッグ

opatch_gi_<timestamp>_deploy.debug.log

ステップ

opatch_gi_<timestamp>_deploy.steps.log

表6-4 ログ・ファイルのネーミング規則(分析)

ログ・ファイル

ネーミング規則

標準

opatch_gi_<timestamp>_analyze.log

デバッグ

opatch_gi_<timestamp>_analyze.debug.log

ステップ

opatch_gi_<timestamp>_analyze.steps.log

6.5.2 ログ・ファイルの場所

OPatchautoを実行すると、ログ・ファイルの正確な場所が画面出力に表示されます。デフォルトでは、ログ・ファイルは次の場所にあります。

$GRID_HOME/cfgtoollogs/opatchauto/<PATCH_ID>/

A OPatchの構文およびコマンド

この付録では、opatchコマンドで使用する構文およびコマンド・オプションの概要について説明します。これらのコマンド・オプションは、独自のパッチ計画を開発するために使用します。

A.1 OPatchの構文

OPatchユーティリティは、$Oracle_Home/OPatchディレクトリにあります。このユーティリティは、様々なコマンドおよびオプションを指定して実行できます。次の文字列は、OPatchユーティリティの構文を示しています。

<Path_to_OPatch>/opatch [-help] [-r[eport]][command] [-option]

ここで、

- [-help]: opatchコマンドのヘルプ・メッセージを表示します。

- [-report]: アクションを実行せずに出力します。

- [command]: 表A-1で説明されているOPatchコマンドのいずれかを示します。

- [-option]: OPatchコマンド・オプションのいずれかを示します。使用できるオプションの概要は、下に示す各コマンドを参照してください。

表A-1 OPatchのコマンド

コマンド

説明

apply

パッチをインストールまたは適用します。

compare

opatch lsinventory -xmlコマンドによって生成された2つのファイルを比較します。

lsinventory

システムに現在何がインストールされているかをリストします。

lspatches

インストールされているすべてのパッチの概要を出力します。

napply

n個のパッチをインストールします(したがって、napplyとなります)。

nrollback

複数のGI/RACホームからパッチを同時にロールバックします。

query

特定のパッチの詳細を問い合せます。

rollback

パッチを削除します。

version

パッチ・ツールの現在のバージョンを出力します。

prereq

ORACLE_HOMEでパッチ適用の前提条件チェックを実行します。

util

GI/RACホームで指定したユーティリティを起動します。

任意のコマンドの追加情報を表示するには、次のコマンドを使用します。

<Path_to_OPatch>/opatch command -help

Perlを使用している場合は、次のコマンドを実行します。

perl opatch.pl command -help

-helpオプションの全構文を表示するには、opatch -hと入力して次のように表示します。

Usage: opatch [ -help ] [ -report ] [ command ]

command := apply
compare
lsinventory
lspatches
napply
nrollback
rollback
query
version
prereq
util

<global_arguments> := -help       Displays the help message for the command.
-report     Print the actions without executing.

example:
'opatch -help'
'opatch -help -fmw'
'opatch apply -help'
'opatch compare -help'
'opatch lsinventory -help'
'opatch lspatches -help'
'opatch napply -help'
'opatch nrollback -help'
'opatch rollback -help'
'opatch prereq -help'
'opatch util -help'

A.2 apply

applyコマンドは、現在のディレクトリのORACLE_HOMEに個別パッチを適用します。このパッチの場所を指定するには、パラメータpatch_locationを使用します。このコマンドは、システム・パッチはサポートしていません。

構文

このコマンドでは、次の構文を使用します。

opatch apply  [-connectString  <List of connect strings>]
[-delay <value> ] [ -force ] [ -force_conflict ]
[-init <parameters for the init script in escaped double
quotes> [-opatch_init_end] ]
[-invPtrLoc <Path to oraInst.loc> ]
[-jre <LOC> ] [-local ] [-local_node <Local node name>]
[-minimize_downtime ] [-no_bug_superset ] [-no_inventory ]
[-no_relink] [-no_sysmod] [-ocmrf <Response file location> ]
[-oh <ORACLE_HOME> ]
[-post <parameters for the post script in escaped
quotes> [-opatch_post_end] ]
[-pre <parameters for the pre script
in escaped double quotes> [-opatch_pre_end] ]
[-profile_mask <Name of profile>]
[-property_file <Path to property file>]
[-ptlConnect <portal connect string>]
[-ptlPassword <portal password>]
[-ptlSchema <portal schema>]
[-remote_nodes <List of remote nodes (node1,node2)>]
[-retry <value ] [-runSql ]
[silent ] [-sqlScript <path of the sql file>] [-verbose ]
[ <Patch Location> ]

オプション

表A-2では、applyコマンドで使用できるオプションについて説明します。

表A-2 applyコマンドのオプション

オプション

説明

delay

インベントリのロックに失敗した場合に、次のインベントリ・ロックを再試行する前に待機する秒数を指定します。このオプションは、-retryオプションが指定されている場合にのみ使用できます。

force

パッチの適用を妨げる競合が存在する場合、-forceフラグを使用してパッチを適用できます。OPatchは、現在のパッチを適用する前に、競合するパッチをすべて削除します。適用するパッチ間に競合が存在する場合、競合のないパッチが適用されます。

force_conflict

パッチの適用を妨げる競合が存在する場合、-force_conflictフラグを使用してパッチを適用できます。OPatchは、現在のパッチを適用する前に、競合するパッチをすべて削除します。これにより競合の「silent」動作がオーバーライドされるため、「silent」オプションを指定して使用する場合にのみ有効です。

invPtrLoc

oraInst.locファイルの場所を指定します。このオプションは、インストール時に引数-invPtrLocが使用されている場合に必要です。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jre

GI/RACホーム・ディレクトリ下のデフォルトの場所のかわりに、特定のJRE (Java)の場所を使用するようにOPatchに指示します。

local

OPatchユーティリティがローカル・ノードにパッチを適用し、ローカル・ノードのインベントリを更新する必要があることを指定します。パッチまたはインベントリ更新は他のノードに伝播されません。

このオプションは、Oracle Real Application Clusters環境および非クラスタ化環境で使用できます。パッチを適用する前にクラスタ全体が停止している場合は、非ローリング・パッチにこの引数を使用できます。

local_node

このクラスタのローカル・ノードをOPatchに示します。このオプションは、Oracle Real Application Clusters環境で使用できます。

minimize_downtime

OPatchによるパッチの適用が必要なノードの順序を指定します。

このオプションは、Oracle Real Application Clusters環境にのみ適用されます。-localオプションまたはローリング・パッチとともに使用することはできません。

no_bug_superset

現在のパッチで修正する不具合が、GI/RACホーム・ディレクトリにインストールされているパッチで修正済の不具合のスーパーセットであるか同一のセットである場合は、エラーにすることを指定します。

no_relink

このオプションは、make操作を実行しません。複数パッチの適用中に、リンク手順を1回のみ実行するために使用できます。OPatchは、実行しなかったmake操作を追跡しません。コンパイルの最後に、このオプションを使用せずにOPatchを実行する必要があります。

ocmrf

OPatchに対して、OCM構成で使用されるOCMレスポンス・ファイルの絶対パスを指定します。GI/RACホームでOCMをインストールして構成していない場合、-silentは-ocmrfとともに使用する必要があります。

oh

デフォルトのかわりに使用するGI/RACホーム・ディレクトリを指定します。環境変数
ORACLE_HOMEよりも優先されます。

opatch_post_end

postオプションの終わりを示します。postオプションとともに使用します。このオプションを使用しない場合、postからコマンドの終わりまでのすべてがpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。preオプションとともに使用します。この引数を使用しない場合、preからコマンドの終わりまでのすべてがpreに渡されます。

post

postスクリプトに渡されるパラメータを指定します。このスクリプトは、パッチの適用後に実行されます。このオプションの値は二重引用符で囲む必要があります。

pre

preスクリプトに渡されるパラメータを指定します。このスクリプトは、パッチの適用前に実行されます。このオプションの値は二重引用符で囲む必要があります。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイルを指定します。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

report

アクションを実行せずに画面に出力します。

retry

インベントリのロックに失敗した場合にOPatchが再試行する必要のある回数を示します。

silent

ユーザーとの対話を抑止し、回答をデフォルトでyesに設定します。

verbose

画面およびログ・ファイルにOPatchの詳細を出力します。

注意:
パッチがSQL変更から構成される場合は、SQLスクリプトを適用するパッチに含まれているパッチのREADMEの手順に従ってください。

A.3 compare

compareコマンドを使用すると、2つのGI/RACホーム間で修正された不具合を比較できます。また、opatch lsinventory -xmlコマンドによって生成された2つのファイルを比較することもできます。現在、このコマンドの入力として使用できるのは2つのファイルのみです。

構文

opatch compare     [<file1> <file2>]

A.4 lsinventory

lsinventoryコマンドは、特定のGI/RACホームのインベントリを表示するか、または検出したすべてのインストールを表示します。このコマンドに必要なオプションはありません。

構文

このコマンドには次の構文を使用します。

opatch lsinventory [-all ] [-all_nodes] [-bugs_fixed <asc | desc> ]
[-delay <value> ] [-detail ] [-group_by_date ]
[-inactive]
[-invPtrLoc <Path to oraInst.loc> ]
[-jre <LOC> ] [-local ]
[-oh <ORACLE_HOME> ] [-patch <asc | desc> ]
[-patch_id <asc | desc> ]
[-ptlConnect  <portal connect string> ]
[-ptlPassword <portal password> ]
[-ptlSchema <portal schema> ]
[-property_file <path to property file>]
[-retry <value> ] [-translation_patch ]
[-xml <xmlFile>]

次の各項では、detail、bugs_fixedおよびpatch descの各オプションの例について説明します。コマンド・オプションの詳細は、表A-3を参照してください。

オプション

表A-3では、lsinventoryコマンドで使用できるオプションについて説明します。

表A-3 lsinventoryコマンドのオプション

オプション

説明

all

GI/RACホーム・ディレクトリで見つかったそれぞれの名前およびインストール・ディレクトリをレポートします。

bugs_fixed

インストール済のパッチで修正された不具合を表形式でレポートします。レポートには、修正された不具合に加えて、インストール済のパッチ、インストール時刻および不具合の説明も表示されます。

修正済の不具合は、インストールされているパッチ別にソートされます。デフォルトでは、パッチはインストールされた時間に従って降順で表示され、各パッチ内の不具合は昇順で表示されます。このオプションで「asc」または「desc」を使用すると、各パッチの不具合のソート順序を強制できます。

patchまたはpatchオプションとともにこのオプションを使用すると、インストール済のパッチのソート順序に従うことができます。

delay

retryを指定する場合、インベントリのロックが失敗したときに、次のインベントリ・ロックを再試行する前に待機する秒数をOPatchに指示します。

detail

インストールされている製品およびその他の詳細をレポートします。-allオプションとともに使用することはできません。

group_by_date

インストール済のすべてのパッチを、GI/RACホームにインストールされた日付ごとにグループ化するようにOPatchに指示します。

invPtrLoc

oraInst.locファイルの場所を指定します。インストール時にinvPtrLocオプションを使用した場合、このオプションが必要です。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jre

GI/RACホーム・ディレクトリ下のデフォルトの場所のかわりに使用する特定のJRE (Java)の場所を指定します。

local

ローカル・ノードのインベントリ情報のみを表示するようにOPatchに指示します。

oh

デフォルト・ディレクトリのかわりに使用するGI/RACホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

patch

GI/RACホームにインストールされているパッチIDを、インストール時刻に基づいて昇順(asc)または降順(desc)にリストします。デフォルトは降順です。

patch_id

GI/RACホームにインストールされているパッチIDを、パッチ番号に基づいて昇順(asc)または降順(desc)にリストします。デフォルト値は昇順(asc)です。

property_file

OPatchが使用する必要のあるユーザー定義のプロパティ・ファイルを示します。プロパティのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するプロパティ・ファイルよりも優先されます。

retry

インベントリのロックに失敗した場合にOPatchが再試行する必要のある回数を指定します。

xml

現在のGI/RACホーム・インベントリに基づいてxml出力を指定したxmlファイルに生成します。

A.5 lspatches

lspatchesコマンドは、インストールされているすべてのパッチの概要を出力します。

構文

lspatchesコマンドでは、次の構文を使用します。

opatch lspatches   [-bugs] [-id <patch ID> ]
[-invPtrLoc <Path to oraInst.loc> ] [-jre <LOC> ]
[-oh <ORACLE_HOME> ]
[-qfile <file path> ] [-required ] [-verify] <PATCH_ID or PATCH_LOCATION>

オプション

表A-4では、lspatchesコマンドで使用できるオプションをリストします。

表A-4 lspatchesコマンドのオプション

オプション

説明

bugs

概要の他に不具合を出力します。

id

このオプションでは、パッチ番号を指定します。GI/RACホーム・インベントリに登録する必要があります。任意の数値列にするか、または言語と組み合せることもできます。例: 11111、11111/zh_CN。複数のパッチIDはサポートしていません。

invPtrLoc

oraInst.locファイルを見つける際に使用します。インストールの際にinvPtrLocフラグが使用されている場合、この値はoraInst.locファイルのパスを示している必要があります。

jre

このオプションでは、GI/RACホーム下のデフォルトの場所のかわりに、特定のJRE (Java)の場所を使用するようにOPatchに指示します。

oh

処理するGI/RACホーム。環境変数ORACLE_HOMEよりも優先されます。

qfile

このファイルを編集した最新のパッチを判別するために、ファイルのGI/RACホームの相対パスを指定します。例:

Linuxの場合はadmin/rdbms/catcpu.sql、Windowsの場合はadmin\rdbms\catcpu.sql。OPatchは、GI/RACホームでcatcpu.sqlファイルを編集した最新のパッチを指示できます。

required

このオプションでは、キー・メタデータのみを出力します。これには、requiredコンポーネント、prereqパッチ、プラットフォームを停止してサポートする実行可能ファイルというメタデータが含まれています。

このオプションでは、オプション-idで<PATCH_ID>または<PATCH_LOCATION>のいずれかを指定する必要があります。

verify

このオプションは、指定したパッチIDまたはパッチの場所がGI/RACホーム・インベントリに登録されているかどうかを確認します。さらに、GI/RACホーム内のすべてのパッチ・ファイルを検証します。このオプションでは、オプション-idで<PATCH_ID>または<PATCH_LOCATION>のいずれかを指定する必要があります。システム・パッチはサポートしていません。例: opatch lspatches -id 111 -verify

opatch lspatches /scratch/test/111 -verify

A.6 napply

このコマンドは、複数のGI/RACホームに複数の個別パッチを同時に適用します。このコマンドは、システム・パッチはサポートしていません。

構文

napplyコマンドでは、次の構文を使用します。

opatch napply [patch_location] [-id comma-separated list of patch IDs]
[ -all_nodes ]
[-connectString  <List of connect strings>]
[-delay <value> ] [ -force ] [ -force_conflict ]
[-idFile <path of the file that has list of patch IDs ]
[-init <parameters for the init script in escaped double
quotes> [-opatch_init_end] ]
[-invPtrLoc <Path to oraInst.loc> ]
[-jre <LOC> ] [ -local ]
[ -local_node <Local node name> ]
[-minimize_downtime ] [-no_bug_superset ]
[-no_inventory ] [-no_relink]
[-no_sysmod]  [-ocmrf <Response file location> ]
[-oh <ORACLE_HOME> ]
[ -phBaseDir <Path to the directory that contains list
of patch directories> ]
[ -phBaseFile <Path to the file containing the
location of the patches to be applied> ]
[-post <parameters for the post script in
escaped double quotes> [-opatch_post_end] ]
[-pre <parameters for the pre script in
escaped double quotes> [-opatch_pre_end] ]
[-profile_mask <Name of profile>]
[ -property_file <Path to property file> ]
[-ptlConnect <portal connect string>]
[-ptlPassword <portal password>]
[-ptlSchema <portal schema>]
[ -remote_nodes <List of remote nodes (node1,node2)> ]                                          [-retry <value> ] [-runSql] [-silent ]
[-skip_subset]
[-skip_duplicate]
[-sqlScript <path of the sql file>]
[-verbose ]

オプション

表A-5に、このコマンドで使用可能なオプションを示します。

表A-5 napplyコマンドのオプション

オプション

説明

delay

インベントリのロックに失敗した場合に、次のインベントリ・ロックを再試行する前に待機する秒数を指定します。このオプションは、retryオプションが指定されている場合にのみ使用できます。

force

パッチの適用を妨げる競合が存在する場合、-forceフラグを使用してパッチを適用できます。OPatchは、現在のパッチを適用する前に、競合するパッチをすべて削除します。適用するパッチ間に競合が存在する場合、競合のないパッチが適用されます。

force_conflict

パッチの適用を妨げる競合が存在する場合、-force_conflictフラグを使用してパッチを適用できます。OPatchは、現在のパッチを適用する前に、競合するパッチをすべて削除します。これにより競合の「silent」動作がオーバーライドされるため、「silent」オプションを指定して使用する場合にのみ有効です。

id

すべてのパッチIDを表示する場合には「-lsinventory」オプションを使用します。各個別パッチは、そのIDで示されます。パッチのカンマ区切り形式のリストを使用して、適用するパッチを選択できます。翻訳パッチの場合、パッチIDの形式は<Patch ID>/<Language code>にする必要があります。

idFile

指定する入力は、カンマまたは空白スペースで区切られたapplyパッチIDのリストを含むファイルの場所です。このオプションは、「id」オプションとともには使用できません。翻訳パッチの場合、パッチIDの形式は<Patch ID>/<Language code>にする必要があります。

invPtrLoc

oraInst.locファイルの場所を指定します。invPtrLocオプションは、インストール時にこのオプションが使用される場合に必要です。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jre

GI/RACホーム・ディレクトリ下のデフォルトの場所のかわりに、特定のJRE (Java)の場所を使用するようにOPatchに指示します。jdkオプションとjreオプションは同時に指定できません。

local

OPatchがローカル・ノードにパッチを適用し、ローカル・ノードのインベントリを更新する必要があることを指定します。パッチまたはインベントリ更新は他のノードに伝播されません。

このオプションは、Oracle Real Application Clusters環境および非クラスタ化環境で使用できます。パッチを適用する前にクラスタ全体が停止している場合は、非ローリング・パッチにこのオプションを使用できます。

no_bug_superset

現在のパッチで修正する不具合が、GI/RACホーム・ディレクトリにインストールされているパッチで修正済の不具合のスーパーセットであるか同一のセットである場合は、エラーにすることを指定します。

no_relink

このオプションは、make操作を実行しません。複数パッチの適用中に、リンク手順を1回のみ実行するために使用できます。OPatchは、実行しなかったmake操作を追跡しません。コンパイルの最後に、このオプションを使用せずにOPatchを実行する必要があります。

ocmrf

OPatchに対して、OCM構成で使用されるOCMレスポンス・ファイルの絶対パスを指定します。GI/RACホームでOCMをインストールして構成していない場合、-silentは-ocmrfとともに使用する必要があります。

oh

デフォルトのかわりに使用するGI/RACホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

opatch_post_end

postオプションの終わりを示します。postオプションとともに使用します。このオプションを使用しない場合、postからコマンドの終わりまでのすべてがpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。preオプションとともに使用します。このオプションを使用しない場合、preからコマンドの終わりまでのすべてがpreに渡されます。

phBaseDir

パッチ・ディレクトリまたはzipファイルを含むディレクトリを指定するために使用します。

phBaseFile

<patch_location>を指定しない場合、このオプションを使用すると、napplyが実行されるパッチのリストを含むファイルをOPatchに示します。ファイルの各行は、パッチの場所を示します。

post

postスクリプトに渡されるパラメータを指定します。このスクリプトは、パッチの適用後に実行されます。このオプションの値は二重引用符で囲む必要があります。

pre

preスクリプトに渡されるパラメータを指定します。このスクリプトは、パッチの適用前に実行されます。このオプションの値は二重引用符で囲む必要があります。

profile_mask

適用するパッチが前提条件としてWLSパッチであることを指定している場合、OPatchはデフォルトのWLSパッチ・プロファイルを読み取ります。OPatchにデフォルト以外のパッチ・プロファイルを読み取らせるには、このオプションを指定してパッチ・プロファイル名を指定します。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイルを指定します。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

report

アクションを実行せずに画面に出力します。

retry

インベントリのロックに失敗した場合にOPatchが再試行する必要のある回数を示します。

silent

ユーザーとの対話を抑止し、回答をデフォルトでyesに設定します。

skip_duplicate

GI/RACホームにインストールされている他のパッチと重複しているパッチの適用を省略します。2つのパッチが同じセットの不具合を修正する場合、これらは重複しています。

skip_subset

GI/RACホームにインストールされている他のパッチのサブセットであるパッチの適用を省略します。あるパッチが別のパッチで修正される不具合のサブセットを修正する場合、前者は後者のサブセットになります。

たとえば、不具合の1および2を修正するパッチAにnapplyを昨日使用した場合、不具合の1を修正するパッチBと不具合の1、2および3を修正するパッチCに対してこのオプションを指定してnapplyを今日使用するとします。この場合、サブセット・パッチAは省略され、パッチCがパッチAのスーパーセットになります。

verbose

画面およびログ・ファイルにOPatchの詳細を出力します。

例:

'opatch napply <patch_location>' to apply all patches under
<patch_location> directory

'opatch napply <patch_location> -id 1,2,3' to apply patches
1, 2, and 3 which are present under <patch_location>
directory

'opatch napply <patch_location> -skip_subset -skip_duplicate'
to apply all patches under <patch_location> directory.
OPatch will skip duplicate patches and subset patches
(patches under <patch_location> that are subsets of patches
installed in the Oracle Home)

'opatch napply <patch_location> -id 1,2,3 -skip_subset -skip_duplicate'
to apply patches 1, 2, and 3 which are under <patch_location>
directory. OPatch will skip duplicate patches and subset patches
(patches under <patch_location> that are subsets of patches
installed in the Oracle Home)

'opatch napply <patch_location> -idfile /tmp/list.txt' where list.txt contains
a list of patch IDs to be applied. The list should be separated by a space or
comma. For example: 1 2 3

'opatch napply <patch_location> -id 1/fr,2/de' to apply patches 1 (french
patch), 1 (german patch) which are present in the <patch_location> directory

A.7 nrollback

nrollbackコマンドは、複数のGI/RACホームからパッチを同時にロールバックします。

構文

このコマンドには次の構文を使用します。

opatch nrollback -id <comma-separated list of patch IDs>
[ -all_nodes ]
[-connectString  <List of connect strings>]
[-delay <value>] -id <Comma separated list of patch IDs>
[-idFile <file location containing a list of
rollback IDs separated by commas or white spaces>
[-init <parameters for the init script in escaped double
quotes> [-opatch_init_end] ]
[-invPtrLoc <Path to oraInst.loc> ]
[-jre <LOC> ] [-local]
[-local_node <Local node name>]
[-no_inventory] [-no_relink] [-no_sysmod]
[-oh <ORACLE_HOME> ]
[-post <parameters for the post script in
escaped double quotes>[ -opatch_post_end] ]
[-pre <parameters for the pre script in
escaped double quotes> [-opatch_pre_end] ]
[-property_file <Path to property file>]
[-ptlConnect <portal connect string>]
[-ptlPassword <portal password>]
[-ptlSchema <portal schema>]
[-remote_nodes <List of remote nodes (node1,node2)>]
[-retry <value>] [-runSql]  [-silent]
[-sqlScript <path of the sql file>]
[-verbose]

オプション

表A-6に、このコマンドで使用可能なオプションを示します。

表A-6 nrollbackコマンドのオプション

オプション

説明

delay

rollbackコマンドでretryオプションを使用する場合、インベントリのロックが失敗したときに、次のインベントリ・ロックを再試行する前にOPatchが待機する秒数を指定します。

id

ロールバックするパッチを指定します。すべてのパッチ識別子を表示するにはlsinventoryオプションを使用します。各個別パッチは、そのIDで示されます。パッチのロールバックを成功させるには、パッチ識別子を指定する必要があります。

idFile

すべてのパッチIDを表示する場合には「lsinventory」オプションを使用します。各個別パッチは、そのIDで示されます。パッチをロールバックするには、そのパッチのIDを指定する必要があります。指定する入力は、カンマまたは空白スペースで区切られたrollbackパッチIDのリストを含むファイルの場所です。翻訳パッチの場合、パッチIDの形式は<Patch ID>/<Language code>にする必要があります。このオプションは、「id」オプションとともには使用できません。

invPtrLoc

oraInst.locファイルの場所を指定します。インストール時にinvPtrLocオプションを使用した場合、このオプションを使用する必要があります。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jre

GI/RACホーム・ディレクトリ下のデフォルトの場所のかわりに使用するOPatchの特定のJRE (Java)の場所を指定します。

local

OPatchがローカル・ノードをロールバックし、ローカル・ノードのインベントリを更新することを指定します。パッチまたはインベントリ更新は他のノードに伝播されません。

このオプションは、Oracle Real Application Clusters環境および非クラスタ化環境で使用できます。パッチを適用する前にクラスタ全体が停止している場合は、非ローリング・パッチにこのオプションを使用できます。

no_relink

このオプションは、パッチでmake操作を実行しません。複数パッチの削除中に、コンパイル手順を1回のみ実行するために使用できます。

oh

デフォルト・ディレクトリのかわりに使用するGI/RACホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

opatch_post_end

postオプションの終わりを示します。postオプションとともに使用します。このオプションを使用しない場合、postからコマンドの終わりまでのすべてがpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。preオプションとともに使用します。このオプションを使用しない場合、preからコマンドの終わりまでのすべてがpreに渡されます。

post

このオプションは、postスクリプトにパラメータを渡すのに使用します。このスクリプトは、パッチの削除後に実行されます。このオプションの値は、二重引用符で囲む必要があります。このパラメータは、ロールバックされるすべてのパッチのpostスクリプトに渡される共通のパラメータです。このオプションは、オプション「opatch_post_end」で終わらせる必要があります。

pre

このオプションは、preスクリプトにパラメータを渡すのに使用します。このスクリプトは、パッチの削除前に実行されます。このオプションの値は、二重引用符で囲む必要があります。このパラメータは、ロールバックされるすべてのパッチのpreスクリプトに渡される共通のパラメータです。このオプションは、オプション「opatch_pre_end」で終わらせる必要があります。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイルを指定します。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

report

アクションを実行せずに画面に出力します。

retry

インベントリのロックに失敗した場合にOPatchが再試行する必要のある回数を指示します。

silent

ユーザーとの対話を抑止し、yes|noの質問に対する回答をデフォルトでyesに設定します。Oracle Real Application Clusters設定では、このオプションはサポートされません。

verbose

画面およびログ・ファイルにOPatchの詳細を出力します。

例

'opatch nrollback -id 1,2,3' to roll back patches 1, 2, and 3
that have been installed in the Oracle Home.

'opatch nrollback -id 1/fr,2/de to rollback patches 1 with language 'fr',
2 with language 'de' that have been installed in the Oracle Home.

A.8 rollback

rollbackコマンドは、参照IDで示された適切なGI/RACホーム・ディレクトリから既存の個別パッチを削除します。このコマンドでは、次の構文を使用します。

構文

opatch rollback -id <ID> [-connectString  <List of connect strings>]
[-delay <value>]
[-init <parameters for the init script in escaped double
quotes> [-opatch_init_end] ]
[-invPtrLoc <Path to oraInst.loc> ]
[-jre <LOC> ] [-local]
[-local_node <Local node name>] [-no_inventory]
[-no_relink] [-no_sysmod]
[-oh <ORACLE_HOME>] [-ph <Patch Location>]
[-post <parameters for the post script in escaped
double quotes>[ -opatch_post_end] ]
[-pre <parameters for the pre
script in escaped double quotes> [-opatch_pre_end] ]
[-property_file <path to property file>]
[-ptlConnect <portal connect string>]
[-ptlPassword <portal password>]
[-ptlSchema <portal schema>]
[-remote_nodes <List of remote nodes (node1,node2)>]
[-retry <value>] [-runSql] [-silent]
[-sqlScript <path of the sql file>] [-verbose]
[all_subpatches]

オプション

表A-7では、rollbackコマンドで使用できるオプションについて説明します。

表A-7 rollbackコマンドのオプション

オプション

説明

delay

rollbackコマンドでretryオプションを使用する場合、インベントリのロックが失敗したときに、次のインベントリ・ロックを再試行する前にOPatchが待機する秒数を指定します。

id

ロールバックするパッチを指定します。すべてのパッチ識別子を表示するにはlsinventoryオプションを使用します。各個別パッチは、そのIDで示されます。パッチのロールバックを成功させるには、パッチ識別子を指定する必要があります。

invPtrLoc

oraInst.locファイルの場所を指定します。インストール時にinvPtrLocオプションを使用した場合、このオプションを使用する必要があります。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jre

GI/RACホーム・ディレクトリ下のデフォルトの場所のかわりに使用するOPatchの特定のJRE (Java)の場所を指定します。

local

OPatchがローカル・ノードをロールバックし、ローカル・ノードのインベントリを更新することを指定します。パッチまたはインベントリ更新は他のノードに伝播されません。

このオプションは、Oracle Real Application Clusters環境および非クラスタ化環境で使用できます。パッチを適用する前にクラスタ全体が停止している場合は、非ローリング・パッチにこのオプションを使用できます。

local_node

このノードがロールバックに使用されるクラスタのローカル・ノードであることをOPatchに指定します。

このオプションは、Oracle Real Application Clusters環境で使用できます。

no_relink

パッチ内でmake操作を実行しません。このオプションは、複数パッチの削除中に、コンパイル手順を1回のみ実行するために使用できます。

oh

デフォルト・ディレクトリのかわりに使用するGI/RACホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

opatch_post_end

postオプションの終わりを示します。postオプションとともに使用します。このオプションを使用しない場合、postからコマンドの終わりまでのすべてがpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。preオプションとともに使用します。このオプションを使用しない場合、preからコマンドの終わりまでのすべてがpreに渡されます。

ph

有効なパッチ・ディレクトリ領域を指定します。ロールバックは、パッチ・ディレクトリに見つかったコマンド・タイプを使用して、現在のオペレーティング・システムに使用されているコマンドを識別します。

post

postスクリプト内で渡されるパラメータを指定します。このスクリプトは、パッチの削除後に実行されます。このオプションの値は二重引用符で囲む必要があります。

pre

preスクリプト内で渡されるパラメータを指定します。このスクリプトは、パッチの削除前に実行されます。このオプションの値は二重引用符で囲む必要があります。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイルを指定します。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

report

アクションを実行せずに画面に出力します。

retry

インベントリのロックに失敗した場合にOPatchが再試行する必要のある回数を指示します。

silent

ユーザーとの対話を抑止し、yes|noの質問に対する回答をデフォルトでyesに設定します。Oracle Real Application Clusters設定では、このオプションはサポートされません。

sqlScript

このオプションは、パッチ適用の実行後にOPatchが実行するカスタムSQLスクリプトを指定するために使用できます。

verbose

画面およびログ・ファイルにOPatchの詳細を出力します。

all_subpatches

このオプションは、複合パッチに対してのみ有効です。また、ユーザーは複合シリーズのすべてのサブパッチを1回でロールバックできます。

A.9 query

queryコマンドは、特定のパッチの詳細を問い合せます。パッチおよびパッチが適用されるシステムに関する情報を提供します。

構文

このコマンドには次の構文を使用します。

opatch query  [-all] [-is_auto_patch] [-is_translatable_patch]
[-get_base_bugs] [-get_component] [-get_os] [-get_date]
[-get_patch_language] [-get_patch_type] [-get_patching_model]
[-get_product_family] [-has_sql] [-is_online_patch]
[-is_rolling_patch] [-is_system_patch] [-jre <LOC> ] [-oh <LOC> ]
[ <patch_location> ]

オプション

表A-8に、queryコマンドで使用できるオプションを示します。

表A-8 queryコマンドのオプション

オプション

説明

all

パッチに関するすべての情報を取得します。すべての使用可能なオプションを設定することと同じです。

is_auto_patch

このオプションは、パッチが自動的に有効な場合は「true」、そうでない場合は「false」を示します。このコマンドは、システム・パッチはサポートしていません。

is_system_patch

このオプションは、パッチがシステム・パッチである場合は「true」、そうでない場合は「false」を示します。

is_translatable_patch

このオプションは、パッチが変換可能な場合は「true」、そうでない場合は「false」を示します。このオプションは、システム・パッチはサポートしていません。

get_base_bug

パッチで修正された不具合を取得します。

get_component

パッチが影響を与えるコンポーネントを取得します。

get_date

パッチを作成した日付と時刻を取得します。

get_os

このパッチを適用できるプラットフォームを取得します。このオプションは、システム・パッチはサポートしていません。

get_patch_language

パッチでサポートされている言語を取得します。このオプションは、システム・パッチはサポートしていません。

get_product_family

パッチが属している製品ファミリを取得します。このオプションは、システム・パッチはサポートしていません。

is_online_patch

パッチがオンライン・パッチの場合、trueを示します。それ以外は、falseになります。

is_rolling_patch

パッチがローリング・パッチの場合、trueを示します。それ以外は、falseになります。

jre

このオプションでは、GI/RACホーム下のデフォルトの場所のかわりに、特定のJRE (Java)の場所を使用するようにOPatchに指示します。

oh

デフォルト・ディレクトリのかわりに使用するGI/RACホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

A.10 version

versionコマンドは、OPatchユーティリティの現在のバージョン番号を表示します。

構文

このコマンドでは、次の構文を使用します。

opatch version [-all] [-invPtrLoc <Path to oraInst.loc>]
[-jre <LOC>] [-oh <ORACLE_HOME>]
[-v2c <5-digit version> -oui_loc <Custom OUI Location>
-ph <Patch Location> -ohs <list of Oracle Homes
separated by commas]
[-help] [-h]

表A-9 versionコマンドのオプション

オプション

説明

all

このオプションは、セントラル・インベントリに登録されているすべてのGI/RACホームのOPatchのバージョンを表示します。

invPtrLoc

oraInst.locファイルを見つける際に使用します。インストールでinvPtrLocフラグを使用したタイミング。oraInst.locファイルのパスにする必要があります。

jre

このオプションでは、GI/RACホーム下のデフォルトの場所のかわりに、特定のJRE (Java)の場所を使用するようにOPatchに指示します。

oh

処理するGI/RACホーム。環境変数ORACLE_HOMEよりも優先されます。

v2c

比較するための標準の5桁のバージョン。このオプションを、「.」で区切られた長くても5桁の有効なバージョンとして指定した場合、有効なバージョンのGI/RACホームは2つの部分に分割され、1つはOPatchのバージョンがこのオプションの値以上であるGI/RACホームになり、もう1つはOPatchのバージョンがこれより小さいバージョンであるGI/RACホームになります。

ph

OPatchの最小のバージョン(定義されている場合)を取得するパッチの場所。有効なパッチの場所を指定した場合、該当するOPatchの最小のバージョンがパッチから取得され、そのOPatchのバージョンが比較の基準となるバージョンとして設定されます。

ohs

対象となるGI/RACホームのリスト。カンマで区切って指定してください。

help

この操作にアタッチできる有効なオプションを表示します。

A.11 prereq

この操作では、ORACLE_HOMEで前提条件チェックを実行します。このコマンドは、システム・パッチはサポートしていません。

構文

opatch prereq <command> [-id <Comma separated list of patch IDs>]
[-invPtrLoc <Path to oraInst.loc> ]
[-jre <LOC>] [-local_node <Local node name>]
[-oh <ORACLE_HOME> ]
[-ph <Path to the single patch location>]
[-phBaseDir <Path to the dir containing all patches>]
[-phBaseFile <Path to the file containing the
location of the patches to be applied>]
[-property_file <Path to property file>]
[-remote_nodes <List of remote nodes (node1,node2)>]                                   [-sid <Comma separated list of database SIDs>]
[-connectString  <List of connect strings>]

コマンド

prereqコマンドは、表に示されている前提条件を確認するコマンドを実行します。

表A-10 prereqコマンド

コマンド

説明

CheckActiveFilesAndExecutables

適用またはロールバックされるパッチにより編集される、アクティブなファイルが存在するかどうかを確認します。

CheckActiveServices

アクティブなサービスを確認します。注意: Windowsプラットフォームにのみ適用されます。

CheckApplicable

ORACLE_HOMEに必須コンポーネントが存在するかどうか、および指定したパッチのすべてのアクションが適用できるかどうかを確認します。

CheckApplicableProduct

指定したGI/RACホームにパッチが適用できるかどうかを確認します。スタンドアロン・ホームに対してパッチがマークされている場合、そのパッチは標準のOUIベースのホームに対しては適用できず、その逆の場合も同様です。ただし、パッチがハイブリッド・パッチとしてマークできる場合は、両方のホームに対して適用できます。

CheckCentralInventoryForOH

指定したORACLE_HOMEが、oraInst.locファイルで指定されたセントラル・インベントリに登録されているかどうかを確認します。

CheckCentralInventoryForRWSession

指定したセントラル・インベントリに対して、RW (読取り/書込み)セッションが作成できるかどうかを確認します。

CheckCentralInventoryLocation

セントラル・インベントリの場所を確認します。ディレクトリ構造が正しく、読取り権限が設定されているinventory.xmlがあるかどうかを確認します。

CheckComponents

ORACLE_HOMEに必須コンポーネントが存在するかどうかを確認します。

CheckConflictAgainstOH

適用されるパッチとOH内のパッチの間に競合が存在するかどうかを確認します。

CheckConflictAgainstOHWithDetail

競合およびスーパーセットに関する詳細情報を確認することにより、適用されるパッチとOH内のパッチの間に競合が存在するかどうかを確認します。

CheckConflictAmongPatches

適用されるパッチ間に競合が存在するかどうかを確認します。

CheckConflictAmongPatchesWithDetail

競合およびスーパーセットに関する詳細情報を確認することにより、適用されるパッチ間に競合が存在するかどうかを確認します。

CheckFileVersions

Fusion Applicationsパッチのコピー・アクションに、GI/RACホームにインストールされているバージョンより大きいファイル・バージョンが1つ以上存在するかどうかを確認します。

CheckFusionAppsCompatible

GI/RACホームのOUIがFusion Applicationsのパッチ適用をサポートしているかどうかを確認します。

CheckForIdenticalPatchInOracleHome

指定したパッチのリストが、GI/RACホームにインストールされているパッチと同じであるかどうかを確認します。

CheckForInputValues

OPatchへの入力値がOPatchをさらに続行するために十分な値であるかどうかを確認します。

CheckForNoOpPatches

ユーザーが指定したパッチがno-opパッチであるかどうかを確認します。no-opパッチをGI/RACホームに適用することはできないため、省略できます。no-opパッチではこの前提条件は機能しません。

CheckIfOHLockedForPatching

OPatchセッションが正常に実行されなかったため、パッチ適用に対してORACLE_HOMEがロックされているかどうかを確認します。

CheckInstalledOneOffs

ロールバックするようにユーザーが指定したすべてのパッチが、指定したGI/RACホーム内に存在するかどうかを確認します。

CheckMinimumOPatchVersion

ユーザーが指定したすべてのパッチが、現在使用しているOPatchの最小バージョンの要件を満たしているかどうかを確認します。

CheckOneOffSuperset

指定した入力Fusion Applicationsパッチ・リストが、個別スーパーセットまたはシングルトン・スーパーセットのすべての候補であるかどうかを確認します。このprereqでは、入力パッチ・リスト間のチェックは実行されません。

CheckOracleHome

指定したORACLE_HOMEが有効であるかどうかを確認します。適切な権限が設定されているインベントリ・ファイルがあるかどうかを確認します。

CheckOraInstLocation

oraInst.locファイルが適切で、読取り権限が設定されているかどうかをチェックします。

CheckOUILocation

ORACLE_HOMEにOUIが存在するかどうかを確認します。

CheckOUIVersionCompatible

ORACLE_HOMEのOUIがOPatchで互換性があるかどうかを確認します。

CheckPatchApplicableOnCurrentPlatform

指定したパッチが現在のプラットフォームで適用できるかどうかを確認します。

CheckPatchApplyDependents

現在インストールされているパッチで必要になるパッチがすべてGI/RACホーム内に存在するかどうかを確認します。

CheckPatchRollbackDependents

現在ロールバックされているパッチに対応するパッチがGI/RACホーム内に存在するかどうかを確認します。

CheckPatchShipHome

適用される特定のパッチの構造が適切で、すべてのファイルに対して適切な権限が設定されているかどうかを確認します。

CheckRemoteCommandInvocable

リモート・マシンでコマンドが起動できるかどうかを確認します。

CheckRemoteCopyAndRemove

リモート・マシンへのファイルのコピー、およびリモート・マシンからのファイルの削除ができるかどうかを確認します。

CheckRequiredLibs

OUI必須ライブラリがすべて指定したORACLE_HOME内に存在するかどうかを確認します。

CheckRollbackable

指定したパッチがORACLE_HOMEからロールバックできるかどうかを確認します。

CheckSystemCommandAvailable

指定したパッチの適用またはロールバックに必要なコマンドがすべてシステム内に存在するかどうかを確認します。

CheckSystemSpace

適用されるパッチに対して十分なシステム領域が使用できるかどうかを確認します。

CheckUserAdminPrivilege

ユーザーが「root」であるかどうかを確認します。

注意: OPatchを「root」で起動しないでください。「root」で起動した場合、この確認は失敗します。

CheckPatchingModel

すべての入力パッチのパッチ適用モデルがGI/RACホームのモデルと互換性があるかどうかを確認します。

表A-11 prereqのオプション

オプション

説明

connectString

このオプションは、データベース・インスタンスおよびリモート・ノードのリストを指定するために使用できます。このオプションの値は、構文「SID:User:Passwd:Node」ごとに指定します。SIDは必須でその他は無視できますが、OPatchではデフォルト値が指定されます。例: oracle:dba:dba:mymachine,oracle1。注意: システムがRAC設定の一部ではない場合、ローカル・ノードのみを指定するには、ノード名を空の文字列として指定します。このオプションは、「sid」オプションとともには使用できません。

id

このオプションは、指定したGI/RACホームからロールバックされるすべてのパッチのパッチIDを指定するために使用できます。

invPtrLoc

oraInst.locファイルを見つける際に使用します。インストールで-invPtrLocフラグを使用した場合に必要です。oraInst.locファイルのパスにする必要があります。

jre

このオプションでは、GI/RACホーム下のデフォルトの場所のかわりに、特定のJRE (Java)の場所を使用するようにOPatchに指示します。

local_node

このオプションは、パッチをRACモードで適用するために使用されるローカル・ノード名をOPatchに指定するために使用できます。

oh

処理するGI/RACホーム。環境変数ORACLE_HOMEよりも優先されます。

ph

このオプションは、パッチの場所のパスを指定するために使用できます。例: /tmp/101010

phBaseDir

このオプションは、適用されるすべてのパッチが保持されているベース・ディレクトリのパスを指定するために使用できます。注意: このディレクトリには、圧縮または解凍形式の重複しないパッチのみを格納する必要があります。

phBaseFile

このオプションは、適用されるパッチの場所を含むファイルの完全なパスを指定するために使用できます。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイル。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

sid

このオプションは、データベース・インスタンスのSIDを指定するために使用できます。このオプションは、ローカル・システムの操作に対してのみ使用できます。

A.12 util

utilコマンドは、ORACLE_HOMEで選択したユーティリティを起動します。このコマンドは、システム・パッチはサポートしていません。

構文

opatch util [ -help ] [ COMMAND ]

opatch util [ COMMAND ] -helpを実行して、特定のコマンドに関するヘルプを取得します。

表A-12 utilのコマンド

オプション

説明

CheckMinimumOpatchVersion

指定したOPatchのバージョンとパッチに互換性があるかどうかを確認します。

CheckComponents

コンポーネントを確認することにより、指定したパッチがセントラル・インベントリに登録されているGI/RACホームに適切なものであるかどうかを確認します。

Cleanup

指定したパッチまたはすべてのパッチのリストア領域のバックアップを削除します。

DisableOnlinePatch

指定したデータベース・インスタンスで指定したオンライン・パッチを無効にして削除します。

EnableOnlinePatch

指定したデータベース・インスタンスで指定したオンライン・パッチをインストールして有効にします。

GetPatchLevel

ローカルGridホームでのパッチ適用レベルを返します。

InstallOCM

OCMをインストールして構成します。

LoadXML

XMLファイルのパスおよび名前に対してプロンプトを出し、XMLが正しいかどうかを確認します。

SaveConfigurationSnapshot

現在のGIホームの構成スナップショットを指定したファイルに保存します。ORACLE_HOMEはGIホームを指し示している必要があります。デフォルトのスナップショット・ファイルは、ORACLE_HOME/cfgtoollogs/opatch/sysconfig/configData.txtです。

UpdateOPatchVersion

GI/RACホームのインベントリ内のOPatchのバージョンを更新します。

Verify

プログラムは、定義したORACLE_HOMEおよび-phで指定したパッチの場所を使用することにより、パッチがORACLE_HOMEに適用されていることを確認します。例: 'opatch util verify -ph /tmp/patchLoc'

B OPatchautoの構文およびコマンド

この付録では、すべてのOPatchautoコマンドの包括的なリストおよび説明を提供します。

重要:
OPatchautoコマンドは、GIホームから実行する必要があります。

B.1 OPatchautoコマンド

OPatchautoコマンドは、標準的なOPatchディレクトリの外にあるGIホームから実行されます。次の標準的な例では、OPatchautoコマンドはGIホームから実行されます

$GI_HOME/OPatch/opatchauto apply <PATH_TO_PATCH_DIRECTORY>

ここで、<PATH_TO_PATCH_DIRECTORY>は、パッチをダウンロードしたローカル・ステージング領域のフルパスです。

OPatchautoは、次の5つの主なコマンドから構成されます。

- apply

- resume

- rollback

- version

OPatchautoヘルプ

-helpまたは-hオプションを指定することにより、任意のコマンドのオンライン・ヘルプを表示できます。

例:

> opatchauto -help
> opatchauto -h
> opatchauto apply -help
> opatchauto resume -help
> opatchauto rollback -help
> opatchauto version -help

B.1.1 apply

GI/RAC/DBホームにシステム・パッチを適用します。ユーザーがパッチの場所を指定するか、そうでない場合は現在のディレクトリがパッチの場所として使用されます。

重要: OPatchautoは、GIホームからrootユーザーとして実行する必要があります。

構文

<GI_HOME>/OPatch/opatchauto apply
[-analyze]
[-database <database names> ]
[-generateSteps]
[-invPtrLoc <Path to oraInst.loc> ]
[-jre <LOC> ]
[-norestart ]
[-nonrolling ]
[-ocmrf <OCM response file location> ]
[-oh <ORACLE_HOME> ]
[ <Patch Location> ]

オプション

次の表では、applyコマンドで使用可能なオプションについて説明します。

表B-1 applyコマンドのオプション

オプション

説明

-analyze

analyzeオプションは、実際にパッチを適用せず、またシステムに一切影響を与えることなく、必要な前提条件チェックをすべて実行してシステムのパッチ適用機能について確認します。

-database

databaseオプションは、パッチを適用するRDBMSホームを指定するために使用します。このオプションは、Oracle Database名のカンマ区切りのリストを入力として使用します。

-generateSteps

generateオプションは、applyセッション用の手動ステップを作成します。OPatchautoは、これらのステップを実行してパッチを適用します。

-invPtrLoc

invPtrLocオプションは、中央インベントリ・ポインタ・ファイル(oraInst.loc)の検索に使用されます。このオプションへの入力は、oraInst.locファイルへのパスです。

-norestart

norestartオプションは、パッチ適用後にGrid Infrastructureスタックを再起動しないようにOPatchautoに指示します。

-nonrolling

nonrollingオプションは、'非ローリング'モードで実行されるパッチ適用セッションを実行するようにOPatchautoに指示します。パッチ適用セッションを開始するには、次の前提条件を満たす必要があります。

- ローカル・ノード上のスタックは稼働している必要があります

- すべてのリモート・ノードは停止している必要があります。

-ocmrf

ocmrfオプションは、Oracle Configuration Manager (OCM)レスポンス・ファイルの絶対パスを指定します。ターゲットGI/RACホームでOCMをインストールして構成していない場合に必要です。

-oh

ohオプションは、パッチを適用するGI/RACホームを指定します。これは、RACホームまたはグリッド・インフラストラクチャ・ホーム、あるいは複数のホームの任意の組合せのカンマ区切りリストです。注意: ソフトウェアのみのインストールを実行する場合、このオプションを使用できません。

<patch location>

パッチの場所の明示的なパス。パッチの場所を指定しない場合は、現在のディレクトリがパッチの場所として使用されます。

例B-1 GIホームおよびすべてのRACホームへのパッチの適用

<GI_HOME>/OPatch/opatchauto apply

例B-2 RACホームから実行されるデータベースのみへのパッチの適用

<RAC_HOME>/OPatch/opatchauto apply -database db1,db2...dbn

例B-3 ソフトウェアのみのインストールへのパッチの適用

<RAC_HOME>/OPatch/opatchauto apply -oh <RAC_HOME>
OR
<GI_HOME>/OPatch/opatchauto apply -oh <GI_HOME>

表B-2 OPatchautoコマンドの例

コマンド

アクション

コメント

<GI_HOME>/OPatch/opatchauto apply <SYSTEM_PATCH_TOP_DIR> <GI_HOME>

GIホームとすべてのRACホームの両方にパッチを適用します。

OPatchautoは、Grid Infrastructureホーム・ディレクトリ(GI HOME)から実行する必要があります。

<GI_HOME>/OPatch/opatchauto apply <SYSTEM_PATCH_TOP_DIR> -oh <GI_HOME>

GIホームのみにパッチを適用します。

ローカル・スタックが停止する場合があります。ローカル・スタックが停止した場合、opatchautoはパッチ適用を継続します。

opatchautoは、GI HOMEから実行する必要があります。

<RAC_HOME>/OPatch/opatchauto apply <SYSTEM_PATCH_TOP_DIR> -database db1,db2

データベースdb1とdb2、およびそれらの関連するGI/RACホームにパッチを適用します。

db1およびdb2を実行するGI/RACホームは同じでも別でもかまいません。

スタックを起動する必要があります。起動しないと、エラーが発生します。

同じGI/RACからdb1として実行されている別のdb-99が存在する場合、opatchautoを実行すると–silentおよびnon-silentの両方のモードでエラーが発生し、db-99が影響を受けていることをユーザーに通知します。この場合、ユーザーはすべてのデータベースを指定するか、または–ohオプションを使用する必要があります。

opatchauoは、パッチを適用しているいずれかのRACホームから実行する必要があります。

<RAC_HOME>/OPatch/opatchauto apply <SYSTEM_PATCH_TOP_DIR> –oh <RAC_HOME>

指定したRACホームから実行されているすべてのターゲットにパッチを適用します。

opatchautoは、パッチを適用している<RAC_HOME>から実行する必要があります。

多数のRACホームにパッチを適用する場合は、このコマンドを必要な回数だけ繰り返し実行します。

データベース・インスタンスが作成されていない(または、作成されたがOCRで登録されていない)ようなソフトウェアのみでインストールされたホームまたはRACホームにパッチを適用する場合は、–ohオプションを使用します。

注意:

opatchauto applyを実行した際に、インストールできない個別のパッチがパッチ・セット内に発生した場合、そのパッチは省略され、OPatchautoは引き続き順序内の次のパッチをインストールします。

opatchauto applyを実行した際に、GI/RACホームにすでにインストールされているパッチと同じパッチ(同じパッチIDおよび一意のパッチ識別子(UPI))が発生した場合、OPatchautoは特定のパッチ条件に基づいて次の処理を実行します。

- GI/RACホームのパッチより後に個別のパッチが作成された場合、OPatchautoはその個別のパッチをインストールします。

- 個別のパッチの作成日がGI/RACホームのパッチと同じである場合、OPatchautoはその個別のパッチのインストールを省略します。

- GI/RACホームのパッチより前に個別のパッチが作成された場合、エラーが発生します。

analyzeオプションは、システム(ビットまたは構成のいずれか)を変更することなく、(可能な場合は)すべての前提条件チェックを実行することにより、opatchauto applyセッションをシミュレートします。analyzeコマンドはシステムを変更せずに、次のチェックを実行します。

- SQL同期を分析モードで実行します。

- すべてのpreおよびpost処理ステップを検証し、コマンドが存在して実行可能であることを確認します。

B.1.2 resume

最後のOPatchautoセッションを再開します。現在このコマンドは、再起動パッチ適用からの再開にのみ使用できます。

重要: OPatchautoは、GIホームからrootユーザーとして実行する必要があります。

構文

<GI_HOME>/OPatch/opatchauto resume [-invPtrLoc <Path to oraInst.loc>]
[-jre <LOC>]
[-oh <ORACLE_HOME>]
[-reboot]

オプション

次の表では、resumeコマンドで使用可能なオプションについて説明します。

表B-3 resumeコマンドのオプション

オプション

説明

-invPtrLoc

invPtrLocオプションは、中央インベントリ・ポインタ・ファイル(oraInst.loc)の検索に使用されます。このオプションへの入力は、oraInst.locファイルへのパスです。

-jre

このjreオプションは、GI/RACホームの下のデフォルトの場所のかわりに、特定のJRE (Java)の場所を使用するようにOPatchautoに指示します。

-oh

ohオプションは、処理するGI/RACホームを指定します。環境変数ORACLE_HOMEよりも優先されます。注意: ソフトウェアのみのインストールを実行する場合、このオプションを使用できません。

-reboot

このオプションは、以前に停止した再起動パッチ適用セッションから再開するようにOPatchautoに指示します。

B.1.3 rollback

GI/RACホームから適用したシステム・パッチをロールバックします。パッチの場所を指定する必要があり、または現在のディレクトリがパッチの場所として使用されます。

重要: OPatchautoは、GIホームからrootユーザーとして実行する必要があります。

構文

<GI_HOME>/OPatch/opatchauto rollback
[-analyze]
[-database <database names> ]
[-generateSteps]
[-invPtrLoc <Path to oraInst.loc> ]
[-jre <LOC> ]
[-norestart ]
[-nonrolling ]
[-oh <ORACLE_HOME> ]
[ <Patch Location> ]

オプション

次の表では、rollbackコマンドで使用可能なオプションについて説明します。

表B-4 rollbackコマンドのオプション

オプション

説明

-analyze

このオプションは、実際にパッチを適用せず、またシステムに一切影響を与えることなく、必要な前提条件チェックをすべて実行してシステムのパッチ適用機能について確認します。

-database

databaseオプションは、パッチを適用するRDBMSホームを指定するために使用します。このオプションは、Oracle Database名のカンマ区切りのリストを入力として使用します。

-generateSteps

ロールバック・セッション時にOPatchatuoが実行する手動ステップを生成します。

-invPtrLoc

invPtrLocオプションは、中央インベントリ・ポインタ・ファイル(oraInst.loc)の検索に使用されます。このオプションへの入力は、oraInst.locファイルへのパスです。

-jre

このjreオプションは、GI/RACホームの下のデフォルトの場所のかわりに、特定のJRE (Java)の場所を使用するようにOPatchautoに指示します。

-norestart

norestartオプションは、パッチ適用後にGrid Infrastructureスタックを再起動しないようにOPatchautoに指示します。

-nonrolling

nonrollingオプションは、'非ローリング'モードで実行されるパッチ適用セッションを実行するようにOPatchautoに指示します。パッチ適用セッションを開始するには、次の前提条件を満たす必要があります。

- ローカル・ノード上のスタックは稼働している必要があります

- すべてのリモート・ノードは停止している必要があります。

-oh

ohオプションは、パッチを適用するGI/RACホームを指定します。これは、RACホームまたはグリッド・インフラストラクチャ・ホーム、あるいは複数のホームの任意の組合せのカンマ区切りリストです。注意: ソフトウェアのみのインストールを実行する場合、このオプションを使用できません。

<patch location>

パッチの場所の明示的なパス。パッチの場所を指定しない場合は、現在のディレクトリがパッチの場所として使用されます。

例B-4 GIホームおよびすべてのRACホームでのパッチのロールバック

<GI_HOME>/OPatch/opatchauto rollback

例B-5 RACホームから実行されているデータベースのみでのパッチのロールバック

<RAC_HOME>/OPatch/opatchauto rollback -database db1,db2...dbn

例B-6 ソフトウェアのみのインストールからのパッチのロールバック

<RAC_HOME>/OPatch/opatchauto rollback -oh <RAC_HOME>
OR
<GI_HOME>/OPatch/opatchauto rollback -oh <GI_HOME>

B.1.4 version

OPatchユーティリティのバージョン、依存するOPlanバージョンおよびosysmodelバージョンを出力します。

重要: OPatchautoは、GIホームからrootユーザーとして実行する必要があります。

構文

<GI_HOME>/OPatch/opatchauto version [-invPtrLoc <Path to oraInst.loc>]
[-jre <LOC>]
[-oh <ORACLE_HOME>]
[-oui_loc <Custom OUI Location>
[-help] [-h]

オプション

次の表では、versionコマンドで使用可能なオプションについて説明します。

表B-5 versionコマンドのオプション

オプション

説明

-invPtrLoc

invPtrLocオプションは、中央インベントリ・ポインタ・ファイル(oraInst.loc)の検索に使用されます。このオプションへの入力は、oraInst.locファイルへのパスです。

-jre

このjreオプションは、GI/RACホームの下のデフォルトの場所のかわりに、特定のJRE (Java)の場所を使用するようにOPatchautoに指示します。

-oh

ohオプションは、処理するGI/RACホームを指定します。環境変数ORACLE_HOMEよりも優先されます。

-oui_loc

oui_locオプションは、OPatchが実行されるカスタムのOUIの場所を表示します。

用語集

バンドル・パッチ

バンドル・パッチは、特定の製品またはコンポーネントを対象とする修正の累積コレクションです。このタイプのパッチは、製品の要件に従って、必要に応じてリリースされます。メンテナンス・パック、サービス・パック、MLR、累積パッチまたは更新リリースとしてバンドル・パッチを理解する必要もあります。

診断パッチ

診断パッチは、単一の修正または不具合修正のコレクションの診断または検証を支援します。テスト・パッチ、修正検証バイナリ(FVB)またはe-fixとして診断パッチを理解する必要もあります。

個別パッチ

個別パッチは、単一の不具合修正、不具合修正のコレクションまたはカスタマ固有のセキュリティ修正を提供します。通常、これらのパッチは特定のカスタマの特定の不具合に対応し、Oracleサポートの指示がないかぎり適用する必要はありません。個別セキュリティ、例外リリース、x-fix、PSE、MLRまたはホットフィックスとして個別パッチを理解する必要もあります。

MLR

マージ・ラベル・リクエスト。複数の不具合を修正するパッチのバンドル。

パッチ・セット

各リリース間でオラクル社が不具合修正を提供する主な方法。オラクル社では、多数の修正をバンドルして同時に完全にテストし、パッケージ化することにより簡単にダウンロードしてインストールできるようにしています。通常、この修正には新しい機能は含まれておらず、追加の認証も必要ありません。パッチ・セット内の修正はすべてテスト済であり、相互に連携して機能することが保証されています。

パッチ・セット更新

特定の製品バージョン(基本リリースまたはパッチ・セット)に対するプロアクティブで安定した累積パッチのコレクション。PSUは累積的であり、SPU (以前はCPUと呼ばれていました)パッチのすべてのセキュリティ修正および追加の修正が含まれています。

セキュリティ・パッチ更新

セキュリティ・パッチ更新は、セキュリティ関連の不具合修正の累積コレクションです。通常、セキュリティ・パッチ更新は定期的にリリースされます。セキュリティ・パッチ更新は、以前はクリティカル・パッチ・アップデート(CPU)と呼ばれていました。

シングルトン

1つの不具合修正を含むパッチ。

パッチ

パッチは、既存のコードやソフトウェアの問題を修正するための1つのコードまたはソフトウェアです。パッチには、セキュリティ上の脆弱性やその他の不具合の修正が含まれており、これにより利用性やパフォーマンスを改善します。

パッチの競合

パッチが、別のOPatchが変更したコードの同じセクションに対して別の変更を加えた場合、これらの2つのパッチは競合し、そのうちのいずれか1つのみがインストールされます(マージ・パッチまたはオーバーレイ・パッチが使用できない場合)。

スーパーセット・パッチ

適用される特定のパッチに、すでにインストールされているパッチに含まれるすべての修正および追加の修正が含まれている場合、その他の修正を含むパッチはスーパーセット・パッチであり、競合は発生しません。

組合せの競合

インストールされるパッチが、すでにインストールされている複数のパッチと競合している場合、これは組合せの競合とみなされます。この場合、OPatchは、競合するパッチをすべて削除してから最新のパッチを適用します。

クリティカル・パッチ・アップデート

クリティカル・パッチ・アップデート(CPU)は、Oracle製品のセキュリティ修正をリリースする主な手段です。CPUは以前のCPUに対して累積され、通常セキュリティ上の修正のみが含まれています。

マージ・パッチ

マージ・パッチは、競合する複数のパッチが1つの統合パッチに組み合されたパッチです。

オーバーレイ・パッチ

個別パッチがPSUと競合する場合、PSUパッチと共存する(PSUパッチを必要とする)最新のパッチを提供することにより、パッチの競合が解決されます。最新のパッチはPSUをオーバーレイするため、PSUはオーバーレイ・パッチの前提条件です。

共有/非共有(GIまたはRAC)ホーム

共有GI/RACホームでは、クラスタ内のすべてのノードがソフトウェアの同じ物理コピーを使用します。これにより、ホームの場所が各ノードで別々ではなく単一になるため、多数のデータベース操作の構成と管理が単純化されます。GIホームまたはRACホームを共有すると、GIまたはRAC環境内の各ノードが同じホームを共有するだけではなく、単一のファイル・システムを共有し、Oracle Cluster File System 2 (OCFS2)などのクラスタ・ファイル・システムを利用します。この構成はディスク領域の効率はよいのですが、複数のノードが同じリソースおよびディスク領域を使用するため、パッチ適用のプロセスが少し複雑になります。

注意: GI共有ホーム・インストールは、非ローリング・モードでのみパッチを適用できます。

非共有GI/RACホームはプライベートGI/RACホームとも呼ばれ、クラスタ内の各ノードがローカル記憶域にOracleソフトウェア・ツリーの完全なコピーを保持しています。これは、Oracle Grid InfrastructureおよびReal Application Clustersをインストールする最も一般的な方法です。

索引
A  B  C  D  E  H  I  L  M  N  O  P  R  S  T

A

applyコマンド

パッチの競合動作, 2.4.1.1

自動化, 3.1

B

BPU, 1.1.1

バンドル・パッチ更新, 1.1.1

C

構成パッチ適用, 1.1.2.2

CRSエラー・コード, 6.2.2.1

D

datapatch, 6.2.4

診断パッチ, 1.1.1

E

Enterprise Manager, パッチ適用, 1.2

エラー・メッセージ, 5.1

H

ホーム, 共有および非共有, 3.1.2.1

I

個別パッチ, 1.1.1

セキュリティ・バグ修正用個別パッチ, 1.1.1

L

ログ・ファイル, デバッグ, 6.5

ログ・ファイル, 場所, 6.5.2

ログ・ファイル, ネーミング規則, 6.5

ログ・ファイル, 手順, 6.5

ログ・ファイル, 標準, 6.5

ログ・ファイル, OPatchauto, 6.5

ロギングとトレース, 5.2

ロギングとトレース, 5.2

M

手動パッチ適用, 1.1.2.1

マージ・ラベル・リクエスト, 1.1.1

MLR, 1.1.1

複数のパッチ, 適用, 2.3.2

My Oracle Support, 1.1.1

N

napplyコマンド

パッチの競合動作, 2.4.1.1

非ローリング・モード, 3.1.2.2

O

OPatch, 1

compare, A.3

競合, 2.4.1

lsinventory, A.4

lspatches, A.5

napply, A.6

nrollback, A.7

prereq, A.11

query, A.9

rollback, A.8

util, A.12

version, A.10

OPatchの失敗, 6.2.1 OPatchの構文, A.1 OPatchユーティリティ, アクセス, 1.6 OPatchauto, 1

apply, B.1.1, B.1.1

resume, B.1.2

rollback, B.1.3

version, B.1.4

OPatchauto Apply, 3.3 OPatchautoログ・ファイル, 6.5 OPatchautoパッチ適用ステップ, 3.4 OPatchautoトラブルシューティング・アーキテクチャ, 6.1 OPatchauto, 単一ノード, 3.2 OPatchautoBinary, 4

分析モード, 4.3

サポートされているパッチ・タイプ, 4.1

構文, 4.5

SystemPatch, 4.4

OPERR, 最新ファイルの判別, 5.1.1.1 OPERR, 最新, 5.1.1 OPERR, 実行, 5.1.1.3 Oracleパッチ, タイプ, 1.1.1 Oracleサポート・サービス, 1.1.1 ORACLE_HOME, 環境変数, 2.2.1.1

P

パッチ適用モード, 3.1.2.2

パッチ適用の前提条件, 2.2.1.3

パッチの競合, 2.4

パッチの競合の検出および解決, 2.4

パッチの形式, 3.1.1

パッチ適用プロセス, 1.1

パッチ・セット更新, 1.1.1

パッチ・タイプ, サポートされていない, 5.4

パッチ, 診断, 1.1.1

パッチ, 個別, 1.1.1

パッチ, 取得, 1.1.1

Patchgen, 6.2.3

Patchgenエラー・コード, 6.2.3

パッチ適用のシナリオ, 2.4

PSU, 1.1.1

R

ローリング・モード, 3.1.2.2

Rootcrs.pl, 6.2.2

Rootcrs.pl -Prepatch, 6.2.2.1

OERRの実行, 6.2.2.1

S

セキュリティ・パッチ更新, 1.1.1

単一パッチ, 適用, 2.3.1

SPU, 1.1.1

システム・パッチ, 3.1.1

システム・パッチ, 3.1.1

パッチ, システム, 1.1.1

システム再起動リクエスト, 3.3.1

T

ターゲット構成, サポートされる, 3.1.2

トラブルシューティング, 5

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2015, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。