12 Oracleソフトウェアの管理およびパッチの適用

Oracle Real Application Clusters(Oracle RAC)環境でOracleソフトウェアを管理し、パッチを適用するには、Oracle Universal InstallerまたはOPatchユーティリティを使用します。

関連項目:

12.1 パッチおよびパッチ・セットについて

オラクル社では、オラクル社のソフトウェアについてパッチと呼ばれる製品フィックスを発行しています。パッチは特定のリリースおよびバージョンのOracle製品と関連付けられています。

パッチ適用サイクルでは、パッチをダウンロードして適用し、バグ修正がパッチに適切に反映されているかどうかを確認します。

パッチ適用では、特定のリリース内に、あるバージョンのソフトウェア製品を別のバージョンに移行します。これは、あるリリースの製品を別の新しいリリースのソフトウェア製品に移行するアップグレードとは異なります。インストール済のOracleソフトウェアにパッチを適用すると、そのソフトウェアのホーム・ディレクトリの実行可能ファイル、ライブラリおよびオブジェクト・ファイルが更新されます。パッチの適用によって、構成ファイルおよびオラクル社提供のSQLスキーマも更新できます。

Oracleソフトウェアで発生したバグを修正するために、次の種類のパッチが定期的にリリースされています。

パッチ・タイプ 説明

個別パッチ

単一のバグまたはバグのコレクションを修正するためにリリースされました。以前はパッチ・セット例外(PSE)、個別パッチまたはホット・フィックスと呼ばれていました。

個別パッチ(セキュリティ・バグ修正用)

顧客固有のセキュリティ修正を用意するためにリリースされました。以前はテスト・パッチ、修正検証バイナリまたはe-fixと呼ばれていました。

診断パッチ

単一の修正またはバグ修正のコレクションの診断および検証を主に支援します。

バンドル・パッチ更新

特定の製品またはコンポーネントを対象とする修正の累積コレクション。以前はメンテナンス・パック、サービス・パック、累積パッチ、更新リリースまたはMLRと呼ばれていました。

パッチ・セット更新(PSU)

重大な問題に対する十分にテスト済および証明済のバグ修正を含む累積パッチ・バンドル。PSUの新規内容には制限があり、再証明が必要な変更は含まれません。

セキュリティ・パッチ更新

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

個別パッチは、特定の不具合に対して顧客が使用できる不具合の修正です。個別パッチを適用するには、特定のベース・リリースまたはパッチ・セットがインストールされている必要があります。これらのパッチはバージョン管理されず、一般に将来のパッチ・セットおよび次の製品リリースで使用可能になります。個別パッチは、Oracle Databaseインストールに含まれているEnterprise Manager Cloud ControlまたはOPatchを使用して適用されます。

パッチ・セット更新(PSU)およびパッチ・バンドルは、完全なテスト済の統合された製品修正を配布するためのメカニズムです。パッチ・セット内のすべての修正が、テスト済で、互いに機能することが動作保証されています。パッチ・セットに低影響のパッチのみが含まれるため、更新したOracle Databaseソフトウェアに対してアプリケーションまたはツールを認定する必要はありません。パッチ・セットを適用すると、数多くの様々なファイルおよびユーティリティが変更されます。その結果、Oracle Database 11.2.0.3.0からOracle Database 11.2.0.3.2のように、Oracleソフトウェアのリリース番号が変わります。PSUを適用するにはOPatchを使用します。

12.2 パッチ適用の代替方法

OPatchは、Oracleソフトウェアのホームにパッチを適用するためによく使用される方法ですが、これだけがOracleソフトウェアにパッチを適用する方法ではありません。

このガイドでは、次の代替方法について概要のみを説明します。しかし、組織ではこれらの方法がOPatchを使用するよりも適していることがあります。

12.2.1 パッチ適用操作へのOracle Enterprise Manager Cloud Controlの使用

Cloud Controlをそのプロビジョニングおよびパッチ適用機能と使用することで、Oracle Grid InfrastructureおよびOracle RACソフトウェアのパッチ適用を自動化できます。

Cloud Controlを使用してOracleソフトウェアにパッチを適用するには、最初に次のシステム構成タスクを実行する必要があります。

  • すべてのクラスタ・ノードへのEnterprise Manager Agentのインストール

  • パッチ適用タスクの完了に必要な権限をホスト・ユーザーが確実に保持するためのPDPセットアップの使用

  • Enterprise Managerでの指定および優先資格証明の構成

  • パッチ・ファイルを格納するためのソフトウェア・ライブラリの構成

このタスクの実行方法と、Cloud Controlを使用したOracle Grid InfrastructureおよびOracle RACソフトウェアのパッチ適用方法の詳細は、PDFファイル(http://www.oracle.com/technetwork/oem/pdf/512066.pdf)に記載されています。

この章の以降の項では、Cloud Controlを使用しないパッチのインストール方法について説明します。

12.2.2 高速ホーム・プロビジョニング、パッチ適用およびアップグレード

高速ホーム・プロビジョニングは、単一クラスタからデータ・センター内の任意の数のノードにソフトウェア・ホームをデプロイする方法であり、ソフトウェアのパッチ適用およびアップグレードが容易にもなります。

高速ホーム・プロビジョニングを使用して、OracleホームのテンプレートをOracleソフトウェア(データベース、Oracle Grid Infrastructure、ミドルウェア、アプリケーションなど)のイメージ(ゴールド・イメージと呼ばれる)として作成、保存および管理します。すべてのゴールド・イメージの作業用コピーを作成し、その作業用コピーをデータ・センターの任意のノードにプロビジョニングできます。

ゴールド・イメージは高速ホーム・プロビジョニング・サーバー上のリポジトリに格納されます。このサーバーは、高可用性プロビジョニング・システムである高速ホーム・プロビジョニング・サーバー・クラスタ内の1つのサーバーで実行されています。このプロビジョニング方法によってOracleホームへの迅速なパッチ適用を簡単に行えるようになり、停止時間が最小限に短縮され、場合によっては完全に解消します。

高速ホーム・プロビジョニングを使用すると、Oracle Database 11g リリース2 (11.2.0.4)以降のリリースのOracle Databaseソフトウェアをプロビジョニングできます。また、高速ホーム・プロビジョニングは、Oracle Grid Infrastructure (11g リリース2 (11.2.0.4)、12c リリース1 (12.1)およびリリース2 (12.2))ホームのプロビジョニングや、Oracle Grid Infrastructureホームのパッチ適用およびアップグレードにも使用できます。さらに、パッチ適用手順を簡単に元に戻すことができるロールバック機能もあります。

Oracle Database 12c リリース2 (12.2)から、RHPでOracle Grid Infrastructureと、Oracle Database 11.2および12.1のソフトウェア・インストールを管理できます。RHPでは、単一コマンドを使用して、新しいホームをこのようなターゲットにプロビジョニングできます。また、RHPでは、同様に単一コマンドを使用して、これらのターゲットのパッチおよびアップグレードのプロセスをオーケストレートすることもできます。ターゲットの前提条件はありません。プロビジョニング、パッチ適用またはアップグレードを実行する前に、クライアントまたはエージェントのソフトウェアをターゲットにインストールする必要はありません。

Oracle Databaseソフトウェアをプロビジョニングするとき、高速ホーム・プロビジョニングでは、各種データベース(Oracle Real Application Clusters (Oracle RAC)、単一インスタンス、Oracle Real Application Clusters One Node (Oracle RAC One Node)などのデータベース)を様々なタイプの記憶域に作成するための追加機能や、その他のオプション(テンプレートの使用やコンテナ・データベース(CDB)の作成など)が提供されます。高速ホーム・プロビジョニングの機能が向上し、データベース・ソフトウェアのパッチ適用の効率がよくなっています。このため、ソフトウェアのリモートでの高速パッチ適用が可能になり、ほとんどのケースでデータベースの停止時間が発生しません。

高速ホーム・プロビジョニングによって大規模環境でのメンテナンスが簡略化されます。高速ホーム・プロビジョニング・サーバー上のソフトウェア・ホームを1回だけ更新すればよいためです。高速ホーム・プロビジョニングにより、あらゆるソフトウェア・ホームからゴールド・イメージを作成できます。その後、そのソフトウェアを作業用コピーとして任意の高速ホーム・プロビジョニング・クライアントまたはターゲットにプロビジョニングできます。ソフトウェアは、高速ホーム・プロビジョニング・クライアントで実行するバイナリか、またはターゲットで実行するバイナリです。

12.3 パッチの入手

パッチおよびパッチ・セットは、Oracleサポート・サービスのWebサイトにあるMy Oracle Supportから入手します。

Oracle Support ServicesのWebサイトはhttps://support.oracle.comにあります。

My Oracle Support Webサイトでパッチを検索するには、次の手順を実行します。

  1. My Oracle Supportに自分のアカウントでログインします。
  2. 「パッチと更新版」タブを選択します。
  3. パッチ番号がわかっている場合は、「パッチ名」または「番号」フィールドに入力して、「検索」をクリックできます。

    システムで利用可能なすべてのパッチを検索したい場合、「パッチ名」または「番号」フィールドの上にある「製品またはファミリ(拡張検索)」を選択します。次の情報を指定します。

    • パッチを適用したい製品(たとえば、Oracle Clusterware、Oracle Database、またはUniversal Installerなどの個々の製品)を選択します。

    • Oracle 12.2.0.1.0などの選択した製品のソフトウェア・リリースを指定します。

    • ソフトウェアをインストールするプラットフォームを指定します。

    「検索」をクリックして、使用可能なパッチを検索します。

    「パッチ検索結果」ページが表示されます。
  4. 「パッチ検索結果」ページで、ダウンロードするパッチの数を選択します。
    そのパッチの詳細ページが画面に表示されます。
  5. 「README」ボタンをクリックしてパッチのReadmeファイルを読むか、あるいは、「ダウンロード」をクリックしてローカル・コンピュータにパッチをダウンロードします。

    クラスタ内のノードでないコンピュータにパッチ・ファイルをダウンロードする場合は、バイナリ・プロトコルを使用してファイルをクラスタ・ノードに転送する必要があります。

    現在のパッチ計画にパッチを追加することや、新しいパッチ計画を作成することもできます。パッチ計画とは、まとめて適用するパッチの集まりです。パッチ計画の使用の詳細は、「計画に追加」ドロップダウン・リストで「なぜ計画を使用するのですか。」を選択します。

関連項目:

12.4 OPatchを使用するための準備

Oracle RACデータベース、インストール済のOracle ASM、またはインストール済のOracle Clusterwareにパッチを適用する前に、オペレーティング・システム環境を準備し、ローカルでパッチをステージングする必要があります。

関連項目:

12.4.1 環境変数ORACLE_HOMEのチェック

OPatchでOracleホームが存在するかどうかが検証されます。

環境変数ORACLE_HOMEが、パッチを適用しようとしている製品のOracleホームに設定されている必要があります。また、パッチ適用対象のOracleホームと同じバージョン番号の、OPatchのバージョンを使用する必要があります。

環境変数の設定の詳細は、各ベンダーのマニュアルを参照してください。

Linuxで変数ORACLE_HOMEの現在の設定をチェックするには、次の手順を実行します。

  1. コマンド・ウィンドウで、gridまたはoracleユーザーとしてオペレーティング・システムにログインします。
  2. echoコマンドを使用して、環境変数ORACLE_HOMEの現在の設定を表示します。
    echo $ORACLE_HOME
    

12.4.2 ソフトウェアへのパッチ適用前のバックアップの実行

パッチ操作を実行する前に、パッチの適用先となるソフトウェア・ディレクトリをバックアップすることをお薦めします。Oracle DatabaseまたはOracle Grid Infrastructureソフトウェアのインストール・ディレクトリがこれに該当します。

ソフトウェアのインストールをバックアップするには、次の手順を実行します。

  1. 次のいずれかを使用して、指定されたOracleホームにインストールしたソフトウェアをバックアップします。
    1. zipcp -rtarまたはcpioなどのオペレーティング・システム・ユーティリティを使用して、Oracleホーム・ディレクトリ内のソフトウェアをディスクにバックアップします。
    2. Oracle Secure Backupユーティリティを使用して、Oracleホーム・ディレクトリ内のソフトウェアをテープにバックアップします。

12.4.3 各ノードでのパッチのステージング

My Oracle Supportからパッチをダウンロードしたら、パッチの適用先となるソフトウェアを実行する各ノードにそのパッチをコピーする必要があります。

12.4.4 PATH環境変数の更新

OPatchの実行中にopatch実行可能ファイルへのパスを指定するか、環境変数PATHを更新して、OPatchディレクトリを含めることができます。

opatchバイナリ・ファイルはOracle_home/OPatchディレクトリにあります。

Oracle LinuxシステムでPATH環境変数を更新するには、次の手順を実行します。

  1. コマンド・ウィンドウで、Oracleホーム所有者、またはOracleホーム内のファイルの書込み権限を持つユーザーとして、オペレーティング・システムにログインします。
  2. 次のようなシェル・コマンドを使用して、PATH環境変数の値を更新します(/u01/app/oracle/product/12.2.0/dbhome_1はOracleホーム・ディレクトリの場所です)。
    $ export PATH=$PATH:/u01/app/oracle/product/12.2.0/dbhome_1/OPatch
    

    現行ユーザーのシェル・プロファイル・スクリプトを変更して、ログインのたびにこの変数が構成されるようにすることもできます。

12.4.5 SSHユーザー等価関係の構成

ユーザー等価は、各ノードのオペレーティング・システム・ユーザーが同一であると判断された場合に存在します。

ユーザー等価関係の構成の詳細は、「Linuxシステムのオペレーティング・システム・ユーザーおよびグループの構成」を参照してください。

12.4.5.1 SSHユーザー等価のテスト

オペレーティング・システムのSSHコマンドを使用してユーザー等価が機能していることを確認します。

  1. OPatchを実行するシステムで、ソフトウェア所有者としてログインします。Oracle Grid Infrastructureにパッチを適用する場合は、gridユーザーとしてログインします。Oracle RACソフトウェアにパッチを適用する場合は、oracleユーザーとしてログインします。
  2. 次のコマンドを使用して、ユーザー等価をテストします。
    [oracle@racnode1] $ ssh racnode2 date
    
    1. 日付が戻された場合、ソース・ノードとインストール先ノード間のユーザー等価関係は構成されています。
    2. 次のような出力が表示された場合、SSHユーザー等価関係は有効になっていません。
      Enter passphrase for key '/home/oracle/.ssh/id_rsa': 
      
  3. このテストからSSHユーザー等価が存在しないと判断した場合は、パッチ適用操作を続行する前に、SSHユーザー等価を有効にします。
12.4.5.2 SSHユーザー等価の有効化

システムにパッチ適用する前に、ユーザー等価が機能していることを確認します。

SSHユーザー等価を有効化するには、次の手順を実行します。

  1. OPatchを実行するシステムでコマンド・ウィンドウを開き、ソフトウェア所有者としてログインします。Oracle Grid Infrastructureソフトウェアにパッチを適用する場合はgridとして、Oracle Databaseソフトウェアにパッチを適用する場合はoracleとしてログインします。
  2. 次のコマンドを使用して、SSHエージェントを起動し、SSH鍵をメモリーにロードします。
    $ /usr/bin/ssh-agent $SHELL
    $ /usr/bin/ssh-add
    
    これらのコマンドは、ローカル・ノードでssh-agentを起動し、RSA鍵およびDSA鍵を現行のセッション・メモリーにロードします。これにより、SSHコマンドを発行するときにパス・フレーズの使用を求めるプロンプトが表示されなくなります。
  3. プロンプトで、セキュア・シェルの構成時に生成した、各鍵に対するパス・フレーズを次のように入力します。
    [oracle@racnode1 .ssh]$ exec /usr/bin/ssh-agent $SHELL
    [oracle@racnode1 .ssh]$ /usr/bin/ssh-add
    Enter passphrase for /home/oracle/.ssh/id_rsa  passphrase
    Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
    Identity added: /home/oracle/.ssh/id_dsa (/home/oracle/.ssh/id_dsa)
    
  4. SSHを適切に構成したかどうかをテストするには、次のコマンドを実行します。
    [oracle@racnode1] $ ssh racnode2 date
    
    SSHが適切に構成されている場合、パスワードまたはパス・フレーズの入力は求められません。

    重要:

    このコマンド・ウィンドウは、パッチ・インストール手順が完了するまで閉じないでください。パッチ・インストールが完了する前にSSHユーザー等価を有効化するコマンド・ウィンドウを閉じる必要がある場合は、パッチ・インストールを開始する前に手順1から手順4を繰り返してください。

12.5 パッチの適用

Oracle RAC環境でのパッチの適用は、単一ノードでのパッチの適用とは少し異なります。OPatchでは、クラスタを検出すると、OUIを使用してソフトウェア・インベントリを問い合せ、ローカル・ノード名およびノード・リストを検索します。

パッチをインストールする前に、パッチ適用対象のソフトウェア・ディレクトリから実行されているすべてのアプリケーションを停止する必要があります。クラスタでは、パッチ適用対象のソフトウェアに応じて、他のアプリケーションの停止が必要になる場合があります。次の表では、Oracleソフトウェアをパッチする際に停止するアプリケーションを示しています。

表12-1 Oracleホーム・ディレクトリへのパッチの適用

Oracleホーム・ディレクトリ 停止するアプリケーション

Oracle RACデータベース

Oracle RACデータベース、Enterprise Manager Agent、リスナー、およびOracle RACのホーム・ディレクトリで実行されるその他のアプリケーション

Oracle Grid Infrastructure

Oracle RACデータベースとそのOracle RACホーム・ディレクトリから実行されるすべてのアプリケーション、クラスタ・データベースと同じOracle ASMインスタンスを使用する単一インスタンス・データベース、Oracle ASMインスタンス、すべてのノード・アプリケーション、Oracle Clusterware、およびGridホーム・ディレクトリから実行されるその他のアプリケーション

12.5.1 Gridホームへのパッチの適用

Gridホームのソフトウェア・ファイルにパッチを適用するか、その他の変更を加える前に、まずGridホームのロックを解除する必要があります。

Gridホームにパッチを適用する手順:

  1. パスGrid_home/crs/installにディレクトリを変更します(Grid_homeはGridホームのパスです)。rootユーザーとして、次のようなコマンドを使用してGridホーム用のパッチ適用前手順を実行します。
    cd /u01/app/12.2.0/grid/crs/install 
    rootcrs.sh -prepatch 
    -prepatchオプションを指定してrootcrsスクリプトを実行すると、Oracle Clusterwareスタックが停止してGridホームのファイルのロックが解除されるため、ファイルを変更できます。
  2. クラスタ用Oracle Grid Infrastructureのソフトウェア所有者にユーザーを変更し、パッチ適用方法のいずれかを使用して、Gridホームにパッチを適用します。
  3. Gridホームの変更が終了したら、rootユーザーとして、次のようなコマンドを使用してパッチ適用後手順を実行します。
    cd /u01/app/12.2.0/grid/crs/install 
    rootcrs.sh -postpatch
    
    -postpatchオプションを指定してrootcrsスクリプトを実行すると、Gridホームが再度ロックされ、Oracle Clusterwareスタックが再起動します。

12.5.2 すべてのノードへのパッチの適用

すべてのノードへのパッチの適用では、まずクラスタ内のすべてのノードが停止されてから、すべてのノードにパッチが適用されます。

すべてのノードにパッチが適用された後、各ノードのOracle Clusterwareスタックおよび登録されているすべてのリソースが再起動されます。通常この方法は非常に重要なパッチの場合に使用され、停止時間は最大になります。OPatchは、パッチをローリング方式で適用できない場合、およびminimize_downtimeオプションを指定しなかった場合にこの方法を使用します。

12.5.3 Oracle RACのローリング方式でのホーム外パッチ適用

ローリング方式でのホーム外パッチ適用では、新しいホームへのパッチのインストール、データベースのOracleホームの変更、ローリンク方式でのインスタンスの再起動を順に実行します。

ローリング方式でのパッチ適用は、クラスタ内のすべてのノードにパッチが適用されるまでグループごとに個々に行われます。Oracle RACまたはクラスタ用Oracle Grid Infrastructureインストールに個別パッチを適用する方法としては、これが最も効率的です。ノードのグループごとにパッチを適用することで、別のノードの1つ以上のインスタンスを常に使用できるため、クラスタ・データベースの停止時間はゼロになります。

ほとんどのパッチはローリング方式で適用できますが、一部のパッチはこの方法では適用できません。ローリング・パッチ方式でパッチを適用できるかどうかは、パッチのREADMEファイルに記載されています。ローリング・パッチ方式でパッチを適用できない場合は、「最小停止時間でのパッチの適用」または「すべてのノードへのパッチの適用」を使用してパッチを適用する必要があります。

ホーム外パッチ適用を実行する場合、更新後またはパッチ適用後のソフトウェアを新しいOracleホームにインストールします。次に、新しいOracleホームを使用するようにOracle Databaseを更新します。

  1. 1つのノードの新しいOracleホーム・ディレクトリにパッチ適用後のソフトウェアをインストールします。
    インストール時に、インストーラによってこのインストールがクラスタ用であることが検知され、新しいOracleホームがクラスタ内の各ノードにコピーされます。
  2. SRVCTLを使用して、Oracle RACデータベース用のOracleホームの場所を変更します。
    srvctl modify database -db database_name -oraclehome patched_home_location 
  3. このノードのOracle Databaseプロセスをすべて停止します。
    srvctl stop home -oraclehome patched_home_location -node nodename
  4. このノードのOracle Databaseプロセスをすべて起動します。
    srvctl start home -oraclehome patched_home_location -node nodename

    パッチ適用後のソフトウェアを使用して起動するには、Oracle Databaseプロセスを再起動する必要があります。

  5. クラスタ内の各ノードで手順3および手順4を繰り返し、Oracle RACデータベース・インスタンスをすべて再起動します。

12.5.4 最小停止時間でのパッチの適用

最小停止時間でのパッチの適用により、パッチを適用するためにすべてのノードを停止する必要がある時間が短縮されます。

最小停止時間でのパッチの適用では、1つのセットのノードに対して、停止およびパッチの適用を順に実行します。最初のセットのノードにパッチを適用した後、2つ目のセットのノードを停止します。次に、最初のセットのノードを再起動し、2つ目のセットのノードにパッチを適用します。2つ目のセットのノードは、パッチの適用後に再起動します。この方法を使用した場合、同時にすべてのノードを停止する方法と比較すると、Oracle RACの停止時間が短くなります。

最小停止時間でのパッチの適用では、次のアクションが実行されます。

  • 常に、ローカル・ノードに最初にパッチが適用されます。

  • ローカル・ノードは、他のノードにパッチを適用する場合のベースとして使用されます。

  • ユーザーは、残りのノードから最初にパッチを適用するノードのセットを入力するように求められます。

  • ユーザーは最初のセットの各ノードについて、インスタンスを停止するよう求められ、停止後にパッチがノードに伝播されてから、次のノードで処理が続行されます。最初のセットのノードにパッチが適用されると、ユーザーは残りのノードを停止するよう求められます。

  • ローカル・ノードにパッチが適用されると、パッチは最後のセットのノードに伝播され、インベントリが更新されます。最後のインスタンスがリモート・ノードで停止されます。ユーザーはこの時点で、残りのノードにパッチを適用する前に、パッチ適用済のノード(最初のノード・セット)を起動できます。

12.6 パッチ・セットの適用

Oracle LinuxにインストールされたOracle RACデータベースおよびOracle Clusterwareに最新のパッチ・セットを適用する手順は、My Oracle SupportのWebサイトで、Oracle 12c リリース2 (12.2)サポート・ステータスおよびアラートのドキュメントを検索してください。

このドキュメントでは、Oracle 12c リリース2に使用可能なパッチ・セットの概要を示します。このドキュメントを使用して、プラットフォームに合ったパッチ・セット・ノートを簡単に特定、確認できます。Oracle Databaseのパッチ・セット・ノートのドキュメントには次の情報が含まれています。

  • システム要件とパッチ・セットのインストールまたは再インストールの方法に関する情報

  • これまでに修正された特定のプラットフォーム用のOracle Database固有のバグをすべて網羅したリスト

  • 特定のプラットフォーム用のOracle Databaseに関する既知の問題のリスト

My Oracle Supportでパッチ・セット・ノートを検索するには、次の手順を実行します。

  1. My Oracle Supportにログインします。
  2. 「パッチと更新版」タブを選択します。
  3. 「最新のパッチセット、Mini PackおよびMaintenance Packへのクイック・リンク」を選択します。
  4. 「Oracleサーバー/ツールの最新のパッチセット」ヘッダーの下で「Oracle Database」を選択します。

    オペレーティング・システムのリストが表示されます。

  5. オペレーティング・システムと一致するエントリの上にカーソルを置くか、三角矢印を使用して、オペレーティング・システムを検索します。

    Linux x86などのオペレーティング・システムのエントリの上にカーソルを置く場合データベースのバージョンが表示されます。

  6. 「12.2.0」を選択します。

    「拡張検索」ページが表示されます。

  7. このページの下までスクロールして、使用可能なパッチ・セットのリストを参照します。
  8. 表示またはダウンロードするパッチ・セットの「パッチ」列の番号を選択します。

    パッチ・セットの説明およびダウンロード・ページが表示されます。

  9. 「READMEの表示」をクリックして、パッチ・セット・ノートを表示します。

    また、このページで「ダウンロード」をクリックしてご使用のコンピュータにパッチをダウンロードできます。

  10. パッチのダウンロードを選択した場合は、パッチ・セットのReadMeファイルの説明に従ってソフトウェアにパッチ・セットを適用してください。

12.7 パッチのデプロイメントに関するトラブルシューティング

Oracle RAC環境へのパッチの適用は、場合によっては複雑になり、パッチのデプロイメントのトラブルシューティングが必要になることがあります。

Oracle RACデータベースへのパッチの適用で問題が発生した場合、一般的な問題であれば、上述のトピックで解決方法を確認できます。発生した問題が表示されない場合、ログおよびトレース・ファイルを確認して、My Oracle Supportを使用してヘルプを取得します。

12.7.1 OPatch用のノード・リストの更新

OPatchによって自動的にOracle RACまたはそのノードが検出されない場合は、インベントリの内容を調べ、その内容が完全であることを確認します。

OPatchのノード・リストを更新するには、次の手順を実行します。

  • クラスタのノードのリストが完了していない場合、次の例に示すように、Oracle Universal Installerおよび-updateNodeListフラグを使用して更新できます。
    Oracle_home/oui/bin/runInstaller -updateNodeList 
    ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 
    CLUSTER_NODES=racnode1,racnode2,racnode3 -noClusterEnabled
    

関連項目:

ノード・リストの更新の詳細は、Oracle Universal Installerインストレーション・ガイドを参照してください。

12.7.2 OPatchログおよびトレース・ファイルについて

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

ログ・ファイルはOracle_home/cfgtoollogs/opatchディレクトリに配置されます。各ログ・ファイルには操作のタイム・スタンプが付加されます。ログ・ファイルの名前は、opatch_mm-dd-yyyy_hh-mm-ss.log形式で、mm-dd-yyyyは現在の日付を、hh-mm-ssは現在の時刻を表しています。OPatchを実行するたびに、新しいログ・ファイルが作成されます。

たとえば、ログ・ファイルが2016年6月9日の午後10時57分に作成された場合、ログ・ファイルの名前は次のようになります。

opatch2016-06-09_22-07-57PM_1.log

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

Date & Time : Thu Jun 09 22:07:45 MDT 2016
Oracle Home : /u01/app/oracle/product/12.2.0/dbhome_1
OPatch Ver. : 12.2.0.1.0
Current Dir : /u01/app/oracle/product/12.2.0/dbhome_1
Command     : lsinventory -xml /u01/app/oracle/product/12.2.0/dbhome_1 ...
 Log File    : /u01/app/oracle/product/12.2.0/dbhome_1/cfgtoollogs/opatch/opatch2016-06-09_22-07-57PM_1.log

12.7.3 「有効なパッチ領域ではありません」エラーの解決

このエラーは、パッチの適用のためにOPatchユーティリティで使用されているディレクトリがOPatchユーティリティで確認されている内容のテンプレートと一致しない場合、またはOPatchユーティリティが無効なディレクトリから実行されている場合に発生する可能性があります。

Patch_Shiphomeディレクトリには、次の構造が存在する必要があります。

  • メタデータ・ファイルを含むetcサブディレクトリ

  • パッチ・ファイルを含むfilesサブディレクトリ

  • 同じディレクトリ下のetc/config/inventory.xmlファイルおよびactions.xmlファイル

「有効なパッチ領域ではありません」エラーを解決するには、次の手順を実行します。

  • 次のいずれかのアクションを実行します。
    1. パッチのshiphomeディレクトリを削除して、適切な構造で(ファイルを再度抽出して)再作成します。
    2. インストールされているパッチが解凍され、ディスクにステージングされているディレクリからOPatchユーティリティを開始します。
    3. OPatchを開始する場合、次のコマンドを使用します。
      opatch apply /Patch_Shiphome
      

      Patch_Shiphomeはパッチがディスクでステージングされている場所です。

12.7.4 「部分的にインストールされた個別パッチを削除できません」エラーの解決

パッチの適用プロセスが中断した場合、次にパッチをインストールしようとすると、「部分的にインストールされた個別パッチを削除できません」というエラーが発生することがあります。

部分的にインストールされたパッチ・エラーを解決するには、次の手順を実行します。

  1. 環境変数ORACLE_HOMEが、パッチを適用しようとしているOracleホーム・ディレクトリに設定されていることを確認します。
  2. Oracle_home/.patch_storage/patch-id_timestampディレクトリに移動して、次のようにrestore.shスクリプト(Windowsプラットフォームの場合はrestore.bat)を実行します。
    Oracle_home/.patch_storage/patch-id_timestamp/restore.sh
    
  3. LinuxおよびUNIXシステムの場合、Oracle_home/.patch_storage/patch-id_timestamp/make.txtファイルを使用して(使用可能な場合)、オペレーティング・システムの環境を次のように変更します。
    /bin/sh make.txt
    
  4. 再度、パッチの適用を試行します。

12.8 Oracleソフトウェアのアップグレード

アップグレードは、新しいソフトウェア・リリースまたはバージョンのインストール時、またはパッチ・セットの適用時に実行されます。

アップグレードの場合、インストールされているOracleソフトウェア・ファイルのすべてではないがその大部分が変更されます。一方、パッチの場合は通常、ごく一部のファイルのみが変更されます。ローリング・アップグレードを実行することも、Oracle DatabaseおよびOracle Clusterwareソフトウェアを停止してアップグレードを実行することもできます。

ソフトウェアを新しいリリースにアップグレードする場合、アウトオブプレースのアップグレードを実行します。アウトオブプレース・アップグレードを実行するには、クラスタ用Oracle Grid Infrastructureを新しいGridホームにインストールします。アップグレードを実行する場合、既存のソフトウェアの場所を選択するかわりに、新しいGridホームの場所を指定します。

アウトオブプレース・アップグレードを実行する場合、旧バージョンと新バージョンのソフトウェアが同時にノードに存在することになり、各バージョンは別々のホームの場所にありますが、いつでもアクティブになるのは、1つのバージョンのソフトウェアのみです。Oracle Database 11gまたはOracle Database 12c リリース1 (12.1)のソフトウェアをOracle Database 12c リリース2 (12.2)にアップグレードするには、クラスタ用Oracle Grid InfrastructureおよびOracle Databaseを新しいOracleホーム・ディレクトリにインストールします。アップグレード・プロセスの最後に、クラスタ用Oracle Grid InfrastructureまたはOracle Database 12c リリース2 (12.2)ソフトウェアを使用するように、ソフトウェアのアクティブ・バージョンが変更されます。

Database Upgrade Assistant (DBUA)を使用して、既存のデータベースをOracle Databaseの現在のリリースにアップグレードできます。Database Upgrade Assistant(DBUA)は、アップグレード・プロセスを順番に説明し、新しいリリース用にデータベースを構成します。DBUAはアップグレード処理を自動化し、表領域、オンラインREDOログ・ファイルなどの構成オプションの適切な推奨値を示します。

関連項目: