OPatchを使用して、Oracle Databaseのホーム内個別およびシングル・インスタンス・パッチによるメンテナンスを実行できます。
ノート:
メンテナンスを簡略化し潜在的な問題を回避するためのベスト・プラクティスとして、新しいOracleホームおよびホーム外パッチ適用を使用してデータベース・メンテナンスを実行することをお薦めします。これは、パッチ適用操作のためのお薦めのデプロイメント選択です。- シングル・インスタンスの場合のOPatchの使用のための確認事項と前提条件
パッチをダウンロードし、ソフトウェア・メンテナンスの実行前に、計画デプロイメント・シナリオのガイドラインおよび前提条件を確認します。 - システム要件の確認
OPatchを起動する前に、必要な環境依存性があることを確認してください。 - 個別パッチの競合の検出と解決
OPatchを実行する前に、個別(1回かぎり)パッチの競合を検出し解決する必要があります。 - OPatchの使用によるシングル・インスタンス・データベースでのソフトウェアの更新
パッチの競合を解決した後は、OPatchを使用してソフトウェアを手動で更新できます。 - データベースへの変更済SQLファイルのロード
OPatchを使用してデータベース・メンテナンスを実行する場合は、datapatch
ツールを手動で実行して、変更されたSQLファイルをそのツールでデータベースにロードできるようにする必要があります。 - Oracle Recovery Managerカタログのアップグレード
Oracle Recovery Managerを使用している場合は、そのカタログをアップグレードする必要があります。 - 既知の問題
OPatchの実行中に発生した問題が既知の問題であるかどうかを確認する方法について学習します。 - ドキュメントのアクセシビリティについて
シングル・インスタンスの場合のOPatchの使用のための確認事項と前提条件
パッチをダウンロードし、ソフトウェア・メンテナンスの実行前に、計画デプロイメント・シナリオのガイドラインおよび前提条件を確認します。
ノート:
メンテナンスのためのリリース更新または個別パッチの適用を開始する前に、Oracleホームのバイナリ、Gridホームのバイナリ、および中央のOracle Inventory (その更新の影響を受ける可能性があるoraInventory)のバックアップを作成することをお薦めします。詳細は、次を参照してください:
パッチのダウンロードと解凍
最新リリースのOPatchバージョンをダウンロードし使用することをお薦めします。My Oracle Supportから最新バージョンをダウンロードします:
OPatchをインストールするための正確な手順については、ツールのダウンロードに含まれているreadmeに従ってください。
OPatchによるメンテナンスのガイドライン
自動リリース更新(ARU)やMy Oracle Supportからのリリース更新(RU)は累積です。つまり、あるソフトウェア・リリースに対する以前のすべてのRUの内容は、最新のRUに含まれています。使用されていないパッチの削除によってパフォーマンスを高めるために、listorderedinactivepatches
およびdeleteinactivepatches
オプションを指定してOPatchを実行することをお薦めします。詳細については、以下を参照:
OPatchを使用してOracleソフトウェアの最新のソフトウェア更新をインストールするには、ソフトウェア・ホームに最新リリースのソフトウェアがすでにインストールされている必要があります。たとえば、Oracle Database 23aiの最新のRUをインストールするには、最新のRUを適用するOracleホームにまずOracle Database 23aiをインストールしておく必要があります。パッチ適用の要件およびオプションの詳細は、ソフトウェア更新のダウンロード・リファレンスを参照してください:
パッチでは、通常は、前のRUより後にリリースされたJava Development Kit (JDK)修正が含まれており、Oracleホーム内のJDKが更新されます。
UTL_URI.ESCAPE
ファンクションは、RFC 3896に準拠するようになり、#
を予約文字として扱います。詳細については、以下を参照:
Oracle Grid InfrastructureおよびOracle RAC ClusterメンバーでのOracle Inventoryの検証
パッチ適用を開始する前に、Gridホーム、およびパッチを適用する各Oracleホームについて、インベントリ情報の整合性を確認します。このコマンドをそれぞれのOracleホーム所有者として実行し、整合性を確認します。ここでの<ORACLE_HOME>はOracleホームまたはGridホームです:
$ <ORACLE_HOME>/OPatch/opatch lsinventory -detail -oh <ORACLE_HOME>
このコマンドが成功すると、そのホームにインストールされているOracleコンポーネントがリストされます。パッチ適用を開始する前のインベントリの状態がわかるように、その出力を保存します。
このコマンドが失敗した場合は、Oracle Supportに問い合せてください。
親トピック: Opatchによるメンテナンス
システム要件の確認
OPatchを起動する前に、必要な環境依存性があることを確認してください。
$PATH
定義に次の実行可能ファイルがあることを確認します:
make
ar
ld
nm
これらの実行可能ファイルの場所は、ご使用のオペレーティング・システムによって異なります。多くのオペレーティング・システムでは、これらは/usr/ccs/bin
にあります。ご使用のパス環境にそれらの実行可能ファイルの場所が含まれていることを確認します。次に例を示します:
export PATH=$PATH:/usr/ccs/bin
親トピック: Opatchによるメンテナンス
個別パッチの競合の検出と解決
OPatchを実行する前に、個別(1回かぎり)パッチの競合を検出し解決する必要があります。
パッチ検索には、My Oracle Supportの検索結果ページにある「パッチと更新版」タブの「パッチの推奨」およびパッチ計画機能を使用することをお薦めします。これらの機能は、リリース更新(RU)と競合する個別パッチがOracleホームにあるかどうかを特定するためと、必要な競合解決パッチを入手するための最も速い簡単な方法です。「パッチの推奨」およびパッチ計画機能は、My Oracle Support Configuration Managerと連携して動作します。これらの機能についての録画されているトレーニング・セッションがMy Oracle Supportにあります:
My Oracle Support How-to Video Training Series (Doc ID 603505.2)
My Oracle Supportのパッチ計画を使用しない場合は、My Oracle Supportの競合チェッカ・ツールにより、OPatchインベントリをアップロードし、競合のために環境に適用する必要があるパッチを確認できます。
このツールの使用の詳細は、次を参照してください:
このツールを使用する手順は、次のとおりです:
-
Oracle Supportからパッチをダウンロードします。パッチは、<patchnumber>_<version>_<platform>.zipという形式のzipアーカイブ・ファイル形式ファイルです。ここでの<patchnumber>はパッチの8桁の番号であり、<version>はパッチの提供対象のOracleソフトウェアのリリースであり、<platform>はパッチを適用できるオペレーティング・システム・プラットフォームです。たとえば、
p12345678_23.0.0.0.0_Linux-x86-64
のようになります。 -
パッチを解凍し、OPatchコマンド
opatch prereq CheckConflictAgainstOHWithDetail
を使用して、現在インストールしてある個別パッチが、インストールされるパッチと競合するかどうかを確認します。たとえば、パッチがp12345678_23.0.0.0.0_Linux-x86-64
の場合:unzip p12345678_23.0.0.0.0_Linux-x86-64.zip cd % ARU_TrackingBug % opatch prereq CheckConflictAgainstOHWithDetail -ph ./
-
レポートを確認します。競合がある場合は、レポートで、競合するパッチ、およびスーパーセットであるパッチが示されます。
-
競合するパッチごとに、パッチの競合を解決します。競合解決パッチがすでに入手可能になっているかどうかと、新しい競合解決パッチをリクエストする必要があるかどうか、または競合が無視される可能性があるかどうかを確認します。他の競合解決パッチが必要な場合は、それらが入手可能になるまで待ってから続行する必要があります。
パッチの競合を解決するには、次のMy Oracle Supportドキュメントを使用します:
パッチの競合を解決したか個別競合解決パッチを受け取った後に、Oracleソフトウェアの更新を続行できます。
親トピック: Opatchによるメンテナンス
OPatchの使用によるシングル・インスタンス・データベースでのソフトウェアの更新
パッチの競合を解決した後は、OPatchを使用してソフトウェアを手動で更新できます。
ご使用のOracleソフトウェア・リリース用の最新のOPatchバージョンを使用することをお薦めします。
シングル・インスタンス・データベースの場合は、次のステップに従います:
-
更新するOracleホームに関連付けられているデータベースおよびすべてのリスナーを停止します。データベースとリスナーの停止の詳細は、『Oracle Database管理者ガイド』を参照してください。
-
現在のディレクトリをパッチを配置するディレクトリに設定し、次のコマンドを入力することでOPatchユーティリティを実行します。ここでの
<patchnumber>
はパッチの8桁の番号であり、<version>
はパッチの提供対象のOracleソフトウェアのリリースであり、<platform>
はパッチを適用できるオペレーティング・システム・プラットフォームです。unzip p<patchnumber>_<version>_<platform>.zip cd p<patchnumber>_<version>_<platform> opatch apply
次に例を示します:
unzip p12345678_23.0.0.0.0_Linux-x86-64.zip cd p12345678_23.0.0.0.0_Linux-x86-64 opatch apply
パッチ更新が正常に終了するのを待ちます。
エラーがある場合は、「既知の問題」を参照してください。
- パッチが正常にインストールされた後は、パッチ競合解決個別パッチを入手してあれば、パッチ競合があるか確認してから、それらを適用します。
必要なパッチをインストールしたら、次のステップを実行します:
- 「データベースへの変更済SQLファイルのロード」の説明に従って、変更されたSQLファイルをデータベースにロードします。
- 「Oracle Recovery Managerカタログのアップグレード」の説明に従って、Oracle Recovery Managerカタログをアップグレードします。
- Managing "installed but disabled" bug fixes in Database Release Updates using DBMS_OPTIM_BUNDLE (Doc ID 2147007.1)の説明に従って、既存のオプティマイザ実行計画を変更する可能性があるバグ修正を確認します。
エラーがある場合は、「既知の問題」を参照してください。
親トピック: Opatchによるメンテナンス
データベースへの変更済SQLファイルのロード
OPatchを使用してデータベース・メンテナンスを実行する場合は、datapatch
ツールを手動で実行して、変更されたSQLファイルをそのツールでデータベースにロードできるようにする必要があります。
Datapatchは、RDBMSパッチのパッチ適用後SQLアクション(変更されたSQLファイルをデータベース・レジストリにロードするスクリプトの実行など)を実行するパッチ適用ツールです。Datapatchでは、データベースの更新後に必要なインストール後ステップが識別され、必要に応じてデータベース内のSQL変更が適用および削除またはロールバックされます。新しいバイナリ・パッチのインストール後にパッチ適用後アクションを完了するために自動的にDatapatchがコールされデータベースが再起動される、OPatchAutoによるメンテナンス操作とは異なり、OPatchの実行後はDatapatchを手動で実行する必要があります。
Datapatchの詳細は、次を参照してください:
- Datapatch: Database 12c or later Post Patch SQL Automation (Doc ID 1585822.1)
- Datapatch User Guide (Doc ID 2680521.1)
-
マルチテナント環境内の同じOracleホームで実行されている複数のデータベースにパッチを適用している場合は、
datapatch
ツールを実行します。この例では、-sanity_checks
オプションを指定してdatapatch
を実行します:% sqlplus /nolog SQL> Connect / as sysdba SQL> startup SQL> alter pluggable database all open; SQL> quit % cd $ORACLE_HOME/OPatch % ./datapatch -sanity_checks % ./datapatch -verbose
-sanity_checks
オプションを指定してdatapatch
を実行することをお薦めします。このオプションを指定して起動すると、datapatch
で、環境およびデータベースの一連のチェックが実行されて、状態がパッチ適用に最適かどうかが検証されます。結果が画面に表示されて、実行可能なアクションの重要度と推奨事項が示されます。この機能の詳細は、次を参照してください:Datapatch User Guide (Doc ID 2680521.1)
また、マルチテナント環境内のすべてのプラガブル・データベース(PDB)に対して
datapatch
を同時に実行することをお薦めします。ただし、個々のプラガブル・データベースに対してdatapatch
を実行することもできます。これを実行することにした場合、datapatchは、マルチテナント・コンテナ・データベース(CDB)およびオープンされているプラガブル・データベース(PDB)に対してのみ実行されます。その後、現時点で更新されていないPDBをalter pluggable database
文の使用によって更新し、後でdatapatch
ツールを再度実行してそれらのPDBに対するパッチ適用後SQLアクションを完了する必要があります。参照:Multitenant Unplug/Plug Best Practices (Doc ID 1935365.1)
datapatch
ユーティリティでは、変更されたSQLファイルをデータベースにロードするための適用スクリプトが実行されます。dba_registry_sqlpatch
ビューにエントリが追加されて、パッチ適用が記録されます。 -
dba_registry_sqlpatch
ビューで、APPLY
のステータスがSUCCESS
であることを確認します。その他のステータスについては、次を参照してください:Troubleshooting Assistant:12c Datapatch Issues (Doc ID 2335899.2)
-
datapatchの完了後、その出力を確認して、エラーがレポートされたかどうかを確認します。datapatchの出力には、インストールされたパッチのログ・ファイルの場所が含まれています。その特定のdatapatchプロセスの関連ログ・ファイルはすべて、
sqlpatch_invocation.log
と同じディレクトリにあります。出力の最初の行でこの起動のログ・ファイル:を確認します。
親トピック: Opatchによるメンテナンス
Oracle Recovery Managerカタログのアップグレード
Oracle Recovery Managerを使用している場合は、そのカタログをアップグレードする必要があります。
アップグレードを確定するため、UPGRADE CATALOG
コマンドは2回入力する必要があります。
次のコマンドを入力します。
$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;
RMAN> UPGRADE CATALOG;
RMAN> EXIT;
親トピック: Opatchによるメンテナンス
既知の問題
OPatchの実行中に発生した問題が既知の問題であるかどうかを確認する方法について学習します。
OPatchの既知の問題については、次を参照してください:
Primary Note For OPatch (Doc ID 293369.1)
インストールしたリリース更新(RU)またはパッチ・バージョンのリリースより後に記載された問題については、インストールしたリリース更新(RU)またはパッチ・バージョンのREADMEを確認してください。
親トピック: Opatchによるメンテナンス
ドキュメントのアクセシビリティについて
オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。
Oracleサポート・サービスへのアクセス
お客様のOracleサポート・サービスへのアクセスおよびご利用は、該当するサービスの注文時に指定された利用条件に従うものとします。
親トピック: Opatchによるメンテナンス
Oracle Database OpatchでのOracle Databaseシングル・インスタンスのメンテナンス, リリース23aiおよび以降のリリース
G17380-01