データベースへのパッチ適用

このトピックでは、コンソールおよびAPIを使用してベア・メタルおよび仮想マシンDBシステムのデータベースにパッチを適用する手順について説明します。DBシステムへのパッチ適用および現在使用可能なデータベース・パッチのリストを確認するには、DBシステムへのパッチ適用を参照してください。

ノート

このトピックは、Exadata Cloud Serviceインスタンスに適用されません。Oracle Cloud InfrastructureでのExadataパッチ適用の詳細および手順は、次のトピックを参照してください:

必須IAMポリシー

Oracle Cloud Infrastructureを使用する際には、コンソールか、SDK、CLIまたはその他のツールを使用したREST APIのどちらを使用するかにかかわらず、必要なタイプのアクセスがポリシー に必要です。コマンドを実行するときに、権限がない、または認可されていないというエラー・メッセージが表示された場合は、管理者に連絡してください。付与されているアクセスのタイプと、作業を行うコンパートメントを確認します。

管理者の場合: データベース管理者によるOracle Cloudデータベース・システムの管理のポリシーにより、指定したグループがデータベースおよび関連データベース・リソースを含むすべてのものを実行できます。

ポリシーを初めて使用する場合は、ポリシーの開始共通ポリシーを参照してください。データベースのポリシー作成の詳細は、データベース・サービスの詳細を参照してください。

データベースへのパッチ適用について

データベースのパッチ適用の場合は、必ずDBシステムにパッチを適用してから、そのシステム内のデータベースにパッチを適用します。コンソールに最新のDBシステム・パッチと前のパッチが表示されます。これらのパッチのどちらでも使用できますが、可能な場合は最新のパッチを使用することをお薦めします。詳細は、DBシステムへのパッチ適用を参照してください。

カスタム・データベース・ソフトウェア・イメージを使用してデータベースにパッチを適用することもできます。ソフトウェア・イメージの作成および使用の詳細は、Oracle Databaseソフトウェア・イメージを参照してください。ソフトウェア・イメージを使用してパッチを適用する場合、OCIでは、現在のバージョンまたは最新の3つのバージョン(NからN - 3)のいずれかに基づくイメージでのパッチ適用がサポートされます。

現在使用可能なデータベース・パッチのリストは、現在使用可能なパッチを参照してください。

データベース・ソフトウェア・イメージを使用した個別パッチの適用

カスタム・データベース・ソフトウェア・イメージを使用して、コンソールで仮想マシンおよびベア・メタルDBシステムのデータベースに個別パッチを簡単に適用できます。詳細は次のトピックを参照してください:

コンソールの使用

データベースにパッチを適用するには
  1. ナビゲーション・メニューを開きます。「Oracle Database」をクリックし、「ベア・メタル、VMおよびExadata」をクリックします。
  2. 「コンパートメント」を選択します。

  3. データベースが配置されているDBシステムを検索し、システム名をクリックしてその詳細を表示します。

  4. パッチ操作を実行するデータベースを検索し、その名前をクリックしてその詳細を表示します。
  5. 「リソース」で、「更新」をクリックします。

    「Oracle提供のデータベース・ソフトウェア・イメージ」タブには、データベースへのパッチ適用に使用できる一般利用可能なOracle Databaseソフトウェア・イメージが表示されます。パッチ適用に使用できるOracleイメージの更新タイプは「パッチ」です。

    「カスタム・データベース・ソフトウェア・イメージ」タブでは、事前に作成したデータベース・ソフトウェア・イメージを選択できます。「コンパートメントの選択」セレクタを使用して、データベース・ソフトウェア・イメージを含むコンパートメントを指定します。パッチ適用に使用できるカスタム・イメージの更新タイプは「パッチ」です。OCIでは、現在のリリースまたは最新の3つのリリースのいずれかに基づくイメージでのパッチ適用がサポートされます。

  6. データベースへのパッチ適用に使用できるデータベース・ソフトウェア・イメージのリストを確認します。可能であれば最新のデータベース・ソフトウェア・イメージ・パッチを使用することをお薦めします。
  7. 対象のパッチの「アクション」メニューをクリックし、次のいずれかのアクションを選択します:

    • 事前チェック: 前提条件をチェックして、パッチを正常に適用できることを確認します。
    • 適用: 事前チェックを実行し、パッチを適用します。
  8. プロンプトが表示されたら確認します。
  9. パッチのリストで、パッチ名をクリックしてパッチ・リクエストを表示し、パッチ操作の進行状況をモニターします。

    パッチが適用されている間、パッチのステータスは「適用中」と表示され、データベースのステータスは「更新中」と表示されます。操作が正常に完了すると、パッチのステータスが「適用済」に変わり、データベースのステータスが「使用可能」に変わります。

データベースのパッチ履歴を表示するには

各パッチ履歴エントリは、試行されたパッチ操作を表し、操作が成功したか失敗したかを示します。失敗したパッチ操作は再試行できます。操作を繰り返すと、新しいパッチ履歴エントリが作成されます。

ノート

コンソールのパッチ履歴ビューには、dbcliやパッチ・ユーティリティなどのコマンドライン・ツールを使用して適用されたパッチは表示されません。
  1. ナビゲーション・メニューを開きます。「データベース」「ベア・メタル、VMおよびExadata」をクリックします。
  2. 「コンパートメント」を選択します。

    DBシステムのリストが表示されます。

  3. データベースが配置されているDBシステムの詳細を表示するには、システム名をクリックします。

    データベースのリストが表示されます。

  4. 対象のデータベースの詳細を表示するには、システム名を探してクリックします。
  5. 「リソース」で、「更新履歴」をクリックします。

    そのデータベースのパッチおよびアップグレード操作の履歴が表示されます。

APIの使用

APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKの詳細は、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。

次のAPIを使用して、データベースのパッチ適用を管理します。

データベース・サービスのAPIの完全なリストは、データベース・サービスAPIを参照してください。

個別パッチの手動適用

ノート

このトピックは、1ノードおよび2ノードのRAC DBシステムのデータベース・ホームにのみ適用されます。

個別パッチ(以前はOne-Offと呼ばれていた個別パッチ)を適用して特定の不具合を修正するには、この項の手順に従ってください。Opatchユーティリティを使用して、データベース・ホームに個別パッチを適用します。

個別パッチをデータベース・ホームに適用するには
ノート

手順の例では、データベース・ホーム・ディレクトリは/u02/app/oracle/product/12.1.0.2/dbhome_1で、パッチ番号は26543344です。
  1. My Oracle Supportから、適用可能な個別パッチを入手します。
  2. パッチのREADME.txtファイルの情報を確認します。このファイルには、パッチを正常に適用するために従う追加またはカスタム(あるいはその両方)の手順が含まれている可能性があります。
  3. SCPまたはSFTPを使用して、ターゲット・データベースにパッチを配置します。
  4. データベース・ホームで実行中の各データベースを停止します。

    srvctl stop database -db <db name> -stopoption immediate -verbose
  5. Oracleホーム環境変数を、ターゲットOracleホームを指すように設定します。

    sudo su - oracle
    export ORACLE_HOME=/u02/app/oracle/product/12.1.0.2/dbhome_1 
    
  6. パッチを配置したディレクトリに移動し、パッチを解凍します。

    
    cd <work_dir_where_opatch_is stored>
    unzip p26543344_122010_Linux-x86-64.zip 
    
  7. 解凍したパッチがあるディレクトリに移動し、競合がないか確認します。

    
    cd 26543344 
    $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
    
  8. パッチを適用します。

    
    $ORACLE_HOME/OPatch/opatch apply
    
  9. パッチが正常に適用されたことを確認します。

    $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
  10. データベース・ホームにデータベースが含まれている場合は、それらを再起動します。

    $ORACLE_HOME/bin/srvctl start database -db <db_name>

    それ以外の場合は、rootユーザーとして次のコマンドを実行します。

    # /u01/app/<db_version>/grid/bin/setasmgidwrap o=/u01/app/oracle/product/<db_version>/dbhome_1/bin/oracle
  11. パッチにsqlpatchコンポーネントがあることがreadmeに示されている場合は、各データベースに対してdatapatchコマンドを実行します。

    datapatchを実行する前に、すべてのプラガブル・データベース(PDB)がオープンしていることを確認します。PDBをオープンするには、SQL*Plusを使用して、PDBに対してALTER PLUGGABLE DATABASE <pdb_name> OPEN READ WRITE;を実行します。

    
    $ORACLE_HOME/OPatch/datapatch