6 Oracle Database Applianceのパッチ適用
Oracle Database Applianceで最新ソフトウェアの動作を継続するには、Oracle Database Applianceパッチ・バンドルを確認し、リリースされている場合は適用します。
- 「Oracle Database Applianceのパッチ適用について」
Oracle Database Applianceパッチ・バンドルを使用して、アプライアンスにパッチを適用します。 - 「更新前チェックについて」
更新の事前チェックは、パッチ適用時に発生する可能性がある問題を検出し、その問題にフラグを付けるように設計されています。 - 「パッチを適用する前の事前チェックの更新の実行」
パッチでリポジトリを更新したら、事前チェックを使用して更新の潜在的な問題を減らし、パッチを適用します。 - 「Oracle Database Appliance Webコンソールを使用したパッチ適用」
Oracle Database Applianceパッチ・バンドルをパッチ・リポジトリにアップロードし、Webコンソールを使用してパッチ・バンドルをデプロイします。 - 「データベース・ホームをWebコンソールを使用した最新リリースへのパッチ適用」
Webコンソールを使用して、データベース・ホームに最新リリースへのパッチを適用します。 - 「コマンドラインを使用した、Oracle Database Appliance Bare Metal Systemsへのパッチ適用」
CLIコマンドを使用して、ベアメタル・システムの場合は、Oracle Database Applianceにパッチを適用するステップに従います。 - 「Oracle Database Appliance仮想化プラットフォームへのパッチ適用」
CLIコマンドを使用して、Oracle Database Appliance OAKCLI Virtualized Platformにパッチを適用するには、次のステップを実行します。 - 「トレース・ファイル・アナライザ (TFA)コレクタへのパッチ適用」
トレース・アナライザ(TFA)コレクタは、Oracle Cluster Ready Services (CRS)、Oracle Grid Infrastructure、およびOracle RACシステムでの診断データ収集を単純化します。 - 「パッチ・アップデートのリポジトリの追加」
パッチ・リポジトリを追加してオペレーティング・システムRPMsを更新します。 - 「サイクル外のデータベース・パッチの適用」
サイクル外パッチ適用機能を使用すると、管理者は、Oracle Database Applianceリリース外の最新のOracle Databaseリリース更新を使用して、Oracle Database Applianceデプロイメントのデータベースにパッチを適用できます。 - 「異なるデータベース・ホームへのアップグレードについて」
Webコンソールまたはodacli
コマンドを使用した別のデータベース・ホームへのアップグレード方法について理解します。
Oracle Database Applianceのパッチ適用について
Oracle Database Applianceパッチ・バンドルを使用して、アプライアンスにパッチを適用します。
パッチでは新しい機能が提供され、既存の機能の機能が向上する可能性があります。
Oracle Database Applianceパッチ・バンドルについて
Oracle Database Applianceパッチ・バンドルには、DCSエージェント、DCSコントローラ、OAK、GI、RDBMSホーム、拡張、および修正の最新パッチが含まれます。
Oracle Database Applianceリリース・ノートには、最新のOracle Database Applianceパッチ・バンドルに関する情報と、パッチ・バンドルのコンポーネント・バージョンのリストが含まれます。 新しい機能、修正、および最新のサポートされているコンポーネント・バージョンを利用するには、アプライアンスを最新のOracle Database Applianceソフトウェア・バージョンで更新することをお薦めします。 アップグレード・パスについては、Oracle Database Appliance Release Notesを参照してください。
注意:
Oracle Grid Infrastructure、Oracle DatabaseまたはOracle Linuxの個別パッチを使用して、Oracle Database Applianceにパッチを適用しないでください。 また、ファームウェアのパッチなど、各インフラストラクチャのパッチも使用しないでください。 Oracle Database Applianceのパッチのみを使用してください。 Oracle Database Applianceを対象としていないパッチを使用した場合、あるいはOpatchまたは同等のパッチ適用ツールを使用した場合は、Oracle Database Applianceインベントリが更新されず、その後のパッチ更新を実行できません。パッチ・バンドルは、次に示すシステム全体に関連するすべてのパッチを提供します。
-
BIOS
-
ハードウェア・ドライバ
-
ハードウェア管理パック(HWM)およびさまざまなコンポーネントのファームウェア・ドライバ
-
Oracle Appliance Manager
-
Oracle Linux
-
Oracle VM Server
-
Java Development Kit (JDK)
-
Oracle Integrated Lights Out Manager (Oracle ILOM)
-
Oracle Databaseバンドル・パッチ(BP)とOracle Databaseパッチ・セット・アップデート(PSU)
-
Oracle Auto Service Request (Oracle ASR)
-
Oracle Grid Infrastructure
-
Intelligent Platform Management Interface (IPMI)
-
関連するハードウェア・モデルのネットワーク・カード・パッチ
ネットワーク・カードおよびファームウェアのパッチ適用について
Oracle Database Appliance X7-2ハードウェア・モデルで、10G/ファイバ・ネットワークに接続すると、エラー・リンクなしが発生します。 この問題を修正するには、Oracle Database Appliance Bundle Patch for 18.5にネットワーク・カード・パッチを含めます。 個別の更新やパッチは必要ありません。
Oracle Linux RPMsの更新について
推奨されていませんが、データベース・ノードの一部のOracle Linux RPMを更新できます。 Oracle Linuxカーネル、Oracle Optimal Flexible Architecture、Oracle InfiniBand、または関連ソフトウェアを更新またはカスタマイズしないでください。 他のソフトウェアをインストール、更新、カスタマイズすることができます。 ただし、Oracle Database Applianceアップデートでは、カスタマイズされたコンポーネントの新しいバージョンの依存性が保持されない場合があります。 したがって、今後、Oracle Database Applianceを正常に更新するためには、サイト固有の変更を削除してから再適用する必要があります。
注意:
データベース・ノードの場合は、次の項目を更新しないでください:
-
Oracle Linuxカーネル (kernel*)
-
Oracle Optimal Flexible Architecture (ofa*)
-
Oracle Infini-Band関連パッケージ(ofed *)
ストレージについては、RPMアップデートを適用しないでください。
異なるバージョンのJava Development Kit (JDK)の使用について
Oracle Database Applianceは、JDKの特定のバージョンに依存します。 特定のアプリケーションに対して別のバージョンのJDKを使用する場合は、それを別のディレクトリにインストールし、そのアプリケーション用にのみ別のディレクトリを指定します。
更新前チェックについて
更新の事前チェックは、パッチ適用時に発生する可能性がある問題を検出し、その問題にフラグを付けるように設計されています。
事前チェックでは、バージョンおよびハードウェア固有のアップグレードを含むアプライアンスの状態を表示し、アップグレードを試行する前に必要な条件とチェックが完了していることを確認し、アップグレードが失敗する可能性のある状態を特定します。 パッチを適用する前に、条件を修正して問題を解決することで、潜在的なパッチの問題を回避できます。
事前チェック・コマンドは、Oracle Database Applianceリリース12.2.1.2.0以降で使用できます。 事前チェック・コマンドをサポートするようにDCSエージェントを更新します。
注意:
パッチ適用のチェックは、ODACLIスタックにパッチを適用する場合にのみ使用できます。 ベアメタル・システムについてOAKCLIからODACLIスタックにパッチを適用して移行する場合は、トピック「コマンドラインを使用した、Oracle Database Appliance Bare Metal Systemsへのパッチ適用」の手順に従います。 仮想化プラットフォームへのパッチ適用の詳細は、「Oracle Database Appliance仮想化プラットフォームへのパッチ適用」のトピックを参照してください。事前チェックにパッチを適用することで検証されるコンポーネント
チェック | コンポーネント検証済 |
---|---|
システム更新の事前チェック |
すべてのノードでエージェントがオンラインであることを確認 更新に十分な領域があることを確認 最小エージェント・バージョンを検証し、パッチ・タグを検証 有効なパッチがリポジトリにあることを確認し、パッチ・バンドル |
サーバー更新の事前チェック |
Oracle Grid Infrastructureパッチがインストールされていることを確認 Oracle Clusterwareがすべてのノードで実行されていることを確認
パッチ競合チェックを実行 使用可能なディスク容量を確認 yumリポジトリ・ディレクトリが存在することを確認
テスト(ドライ・ラン)yumアップデートを実行して、RPMSの依存関係をチェック |
DBHome更新の事前チェック |
Oracle Grid Infrastructureがインストールされていることを確認 Oracle Clusterwareがすべてのノードで実行されていることを確認 他のコンポーネントをアップグレードする前にOracle Grid Infrastructureがアップグレードされたことを確認 ローカル・マウントで使用可能な十分なスペースがあることを検証
パッチ競合チェックを実行し、データベース・パッチのロールバックが必要かどうかを判断 |
ストレージの事前チェック |
ストレージ・パッチのロケーションとタグを検証します Oracle ASMディスク・グループのステータスを検証します |
パッチを適用する前の事前チェックの更新の実行
パッチでリポジトリを更新したら、事前チェックを使用して更新の潜在的な問題を減らし、パッチを適用します。
注意:
ODACLIスタックにパッチを適用する場合のみ、このトピックの手順に従います。 ベアメタル・システムについてOAKCLIからODACLIスタックにパッチを適用して移行する場合は、トピック「コマンドラインを使用した、Oracle Database Appliance Bare Metal Systemsへのパッチ適用」の手順に従います。 仮想化プラットフォームへのパッチ適用の詳細は、「Oracle Database Appliance仮想化プラットフォームへのパッチ適用」のトピックを参照してください。Oracle Database Appliance Webコンソールを使用したパッチ適用
Oracle Database Applianceパッチ・バンドルをパッチ・リポジトリにアップロードし、Webコンソールを使用してパッチ・バンドルをデプロイします。
Webコンソールを使用したパッチ・リポジトリの更新
-
My Oracle SupportからOracle Database Applianceパッチをダウンロードし、アプライアンスのディレクトリに保存します。 パッチをダウンロードするための使用可能なパッチおよびリンクの一覧は、「Oracle Database Applianceリリース・ノート」を参照してください。
-
oda-adminのユーザー名とパスワードを使用してWebコンソールにログインします。
https://Node0–host-ip-address:7093/mgmt/index.html
-
「パッチ・マネージャ」をクリックします。
-
「パッチ・リポジトリの更新」ページで絶対ファイル・パスとパッチ名を入力し、「リポジトリを更新」をクリックしてリポジトリの更新ジョブを開始します。 カンマで区切られたリストを使用して、複数のファイルをリポジトリに更新するにはスペースを入れずに指定するか、各ファイルを一度に1つずつ更新できます。
-
進行状況を監視するには、「アクティビティ」をクリックします。 ジョブが正常に完了すると、Patch Repositoryが更新されます。
Webコンソールを使用した更新の事前チェックとパッチ適用のエージェント、サーバーおよびストレージの実行
注意:
アプライアンスに2つのノードがある場合は、両方のノードを同時に更新するか、個別に更新するかを選択できます。 個別に更新する場合は、Node1を更新する前にNode0を更新してください。-
更新ウィンドウ中に実行中または保留中のジョブはありません。
-
「アプライアンス」タブをクリックし、Webコンソールで「パッチ・マネージャ」をクリックします。
-
コンポーネント詳細がロードされるまで待機します。 パッチ・リポジトリを更新した直後の場合は、このページの「コンポーネントの詳細」セクションで「リフレッシュ」をクリックします。
パッチがパッチ・リポジトリにアップロードされると、ページのコンポーネントの詳細が、各コンポーネントのインストールされたバージョンおよび使用可能なバージョンで更新されます。
-
「事前チェック」を選択し、「コンポーネントの更新」、「送信」の順にクリックして、リポジトリ内のパッチを確認し、競合をチェックします。
ジョブが終了したら、次のステップに進みます。 「アクティビティ」をクリックしてジョブのステータスを確認します。
-
「パッチ・マネージャ」ページで、「リフレッシュ」をクリックしてコンポーネントの詳細をリフレッシュします。 「更新サーバー」を選択し、「コンポーネントの更新」をクリックしてから、「送信」をクリックして、サーバー・コンポーネントにパッチを適用するジョブを開始します。
マルチ・ノード・システムの場合は、更新するノードを選択: すべてのノード(デフォルト)、Node0、またはNode1。
DCSエージェントは、サーバーまたはストレージ・コンポーネントが更新されるたびに自動的に更新されます。
ジョブが終了したら、次のステップに進みます。 「アクティビティ」をクリックしてジョブのステータスを確認します。
-
「パッチ・マネージャ」ページで、「リフレッシュ」をクリックしてコンポーネントの詳細をリフレッシュします。 「ストレージの更新」を選択し、「コンポーネントの更新」をクリックしてから「送信」をクリックして、ストレージ・コンポーネントにパッチを適用するジョブを開始します。
マルチ・ノード・システムの場合は、更新するノードを選択: すべてのノード(デフォルト)、Node0、またはNode1。
高可用性環境では、「ローリング」 check boxを選択してストレージ・コンポーネントのローリング・パッチ適用を実行できます。
-
「アクティビティ」をクリックして進捗をモニターし、ジョブが正常に完了したことを確認します。
すべてのパッチ関連情報は、/opt/oracle/dcs/log/dcs-agent.log
のdcs-agent
ログファイルに記録されます。
データベース・ホームをWebコンソールを使用した最新リリースへのパッチ適用
Webコンソールを使用して、データベース・ホームに最新リリースへのパッチを適用します。
注意:
ODACLIスタックにパッチを適用する場合のみ、このトピックの手順に従います。 仮想化プラットフォームへのパッチ適用の詳細は、「Oracle Database Appliance仮想化プラットフォームへのパッチ適用」のトピックを参照してください。コマンドラインを使用した、Oracle Database Appliance Bare Metal Systemsへのパッチ適用
CLIコマンドを使用して、ベアメタル・システムの場合は、Oracle Database Applianceにパッチを適用するステップに従います。
Oracle Database Appliance仮想化プラットフォームへのパッチ適用
CLIコマンドを使用して、Oracle Database Appliance OAKCLI Virtualized Platformにパッチを適用するには、次のステップを実行します。
トレース・ファイル・アナライザ (TFA)コレクタへのパッチ適用
トレース・アナライザ(TFA)コレクタは、Oracle Cluster Ready Services (CRS)、Oracle Grid Infrastructure、およびOracle RACシステムでの診断データ収集を単純化します。
/opt/oracle/tfa/tfa_home
の新しいリリースとともにTFAがインストールされます。
パッチ・アップデートのリポジトリの追加
パッチ・リポジトリを追加してオペレーティング・システムRPMsを更新します。
次のように、オペレーティング・システムRPMリポジトリを追加します:
サイクル外のデータベース・パッチの適用
サイクル外パッチ適用機能を使用すると、管理者は、Oracle Database Applianceリリース外の最新のOracle Databaseリリース更新を使用して、Oracle Database Applianceデプロイメントのデータベースにパッチを適用できます。
OPatchを使用して、Oracle Databaseリリース更新(RU)パッチを手動で適用してください。 使用しているデータベース・バージョンのOPatchを実行するには、このトピックの関連する項を参照してください。
OPatchを使用した、11.2.0.4より後のOracle Databaseリリースへの手動によるパッチ適用
dcs-agent
を最新リリースに更新します。# odacli update-dcsagent
- コンポーネントが更新されていることを確認します:
# odacli describe-component # odacli list-dbhomes
- OPatchを最新バージョンに更新します(使用可能な場合):
- 最新のOPatchバージョンをMy Oracle Supportからダウンロードします。
- ファイルをローカル・ホストにコピーし、
ORACLE_HOME/OPatch
ディレクトリに抽出します。 - OPatchツールを
oracle
ユーザーとして更新します。/bin/rm -rf $ORACLE_HOME/OPatch/ su - oracle -c /usr/bin/unzip -q -o OPatch_zip_location/p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME
- My Oracle Supportから最新のデータベース・パッチをダウンロードし、ファイルをローカル・ホストにコピーします。
scp patchfilename root@hostname:directory
- 空のディレクトリ(
/tmp/patchesDir
がoracle
ユーザーなど)にパッチを解凍します。これにより、バグ番号付きのサブ・ディレクトリが
/tmp/patchesDir
に作成されます。 適用するパッチがリリース更新(RU)である場合、パッチ・ディレクトリには複数のサブディレクトリがあります。/usr/bin/unzip -o location_of_patches/p29301631_180000_Linux-x86-64.zip -d /tmp/patchesDir
- Oracle Database Appliance高可用性デプロイメントの場合、セキュアな接続用にSSHキーを設定します。
- パッチを分析します。
$ORACLE_HOME/OPatch/opatchauto apply directory_with_patches_extracted -analyze -oh $ORALCE_HOME -log /tmp/opatchAutoAnalyzePatch.log
root
ユーザーとして、パッチを適用します。$ORACLE_HOME/OPatch/opatchauto apply directory_to_extract_patches -oh $ORACLE_HOME -inplace
- 両方のノードでパッチ適用が完了したら、
utlrp.sql
およびcatcon.pl
スクリプトを実行して、データベース内の無効なオブジェクトを再コンパイルします。 - レジストリを更新し、システム・コンポーネント値が登録されていることを確認します。
# odacli update-registry -n dbhome
OPatchを使用したOracle Databaseリリース11.2.0.4の手動によるパッチ適用
dcs-agent
を最新リリースに更新します。# odacli update-dcsagent
- コンポーネントが更新されていることを確認します:
# odacli describe-component # odacli list-dbhomes
- OPatchを最新バージョンに更新します(使用可能な場合):
- 最新のOPatchバージョンをMy Oracle Supportからダウンロードします。
- ファイルをローカル・ホストにコピーし、
ORACLE_HOME/OPatch
ディレクトリに抽出します。 - OPatchツールを
oracle
ユーザーとして更新します。/bin/rm -rf $ORACLE_HOME/OPatch su - oracle -c /usr/bin/unzip -q -o OPatch_zip_location/p29141056_112040_Linux-x86-64.zip -d $ORACLE_HOME
- My Oracle Supportから最新のデータベース・パッチをダウンロードし、ファイルをローカル・ホストにコピーします。
/tmp/patchesDir
をoracle
ユーザーとして、空のディレクトリにデータベース・パッチを解凍します。これにより、バグ番号付きのサブ・ディレクトリが/tmp/patchesDir
に作成されます。 適用するパッチがOracle Databaseリリース更新(RU)である場合、パッチ・ディレクトリには複数のサブディレクトリがあります。su - oracle -c '/usr/bin/unzip -o p29141056_112040_Linux-x86-64.zip -d /tmp/patchesDir'
- バグ#2015がインベントリに存在する場合は、そのバグを削除します。
- インベントリにバグ#2015が存在するかどうかを確認します:
su - oracle export ORACLE_HOME=path_to_the_11.2.0.4_ORACLE_HOME $ORACLE_HOME/OPatch/opatch lspatches | grep -i "OCW" | cut -d ';' -f1
- コマンドによってバグ番号(例: 28729234)が返されます。 インベントリに移動します:
cd $ORACLE_HOME/inventory/oneoffs/bug# from above command/etc/config
inventory.xml
に'bug number="2015"'
などの文字列が含まれているかどうかを確認します。 一致が検出されなかった場合にはアクションは不要で、この手順のステップ6を続行できます。grep 'bug number="2015"' inventory.xml - echo $? ( the command returns 0, if match found )
inventory.xml
のバックアップを作成します。cp inventory.xml inventory.xml.$(date +%Y%m%d-%H%M)
inventory.xml
から<bug number="2015" ...>
などのエントリを削除します。sed '/bug number="2015"/d' inventory.xml
- インベントリにバグ#2015が存在するかどうかを確認します:
- パッチごとに
opatch
コマンドを使用して事前チェックを実行します。su - oracle -c '$ORACLE_HOME/OPatch/opatch prereq CheckComponents -ph /tmp/patchesDir/29301631 -oh $ORACLE_HOME' su - oracle -c '$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOH -ph /tmp/patchesDir/29301631 -oh $ORACLE_HOME'
すべてのサブ・パッチに対して両方のコマンドを実行します。 競合するバグがある場合は、個別パッチをロールバックします。
opatch auto
コマンドを使用してパッチを適用します。$ORACLE_HOME/OPatch/opatch auto /tmp/patchesDir/29301631 -oh $ORACLE_HOME -ocmrf /opt/oracle/dcs/rdbaas/config/default-ocm.rsp
- パッチの適用後にデータベースが稼働中であることを確認します。
/u01/app/18.0.0.0/grid/bin/crsctl status resource ora.on6i.db -n patched_db
- このホームのすべてのデータベースで
catbundle.sql
を実行します。su oracle export ORACLE_HOME=ORACLE_HOME export ORACLE_HOME=ORACLE_SID $ORACLE_HOME/bin/sqlplus "/ as sysdba" @$ORACLE_HOME/rdbms/admin/catbundle.sql @$ORACLE_HOME/rdbms/admin/catbundle.sql
異なるデータベース・ホームへのアップグレードについて
Webコンソールまたはodacli
コマンドを使用した別のデータベース・ホームへのアップグレード方法について理解します。
データベース・ホームをアップグレードするための前提条件
- Oracle Database 12.2から18c
- Oracle Database 12.1から18c
- Oracle Database 11cから18c
- Oracle Database 12.1から12.2
- Oracle Database 11cから12.2
- Oracle Database 11cから12.1
別のデータベース・ホームにアップグレードする前に、データベース・バージョンのRDBMSクローン・ファイルをリポジトリにアップロードして、データベース・ホームを作成します。 最新のRDBMSクローン・ファイルを使用してリポジトリを更新する手順は、「CLIを使用したOracle Database Applianceへのパッチ適用」を参照してください。
Webコンソールを使用したデータベース・ホームのアップグレードについて
Webコンソールを使用して別のデータベース・ホームにアップグレードするには、次のステップに従います。
- oda-adminのユーザー名とパスワードを使用してWebコンソールにログインします。
https://Node0–host-ip-address:7093/mgmt/index.html
- 「データベース」タブをクリックし、データベースを選択して「行動」をクリックし、「アップグレード」をクリックします。
- データベース・アップグレード・ジョブが正常に完了したことを確認します。
コマンドライン・インタフェースを使用したデータベース・ホームのアップグレードについて
CLIを使用して別のデータベース・ホームにアップグレードするには、次のコマンドを実行します:
odacli upgrade-database -i Comma separated list of database ids -from source dbhome id -to destination dbhome id [-j] [-h]
upgrade-database
コマンドのオプションの詳細は、「Oracle Database Applianceコマンドライン・インタフェース」の章を参照してください。