Oracle Database Patch Maintenance '22

JPOUG Advent Calendar 2022の10日目の記事かつ 1日目のwrcsus4さんの記事『2022年12月版 Oracle Database/OCI 厳選リンク集 | コーソルDatabaseエンジニアのBlog』に触発されて書いた記事です。9日目は meijik さんの記事『UPSERT大全2022 | キムラデービーブログ』でした。

Oracle Database 19c DocumentationAdministrationに以下の文書の存在と2022年10月に大幅な更新があったことを知りました。

Patching
Oracle Database Patch Maintenance
HTML / PDF
Describes patch delivery methods for Oracle Database 19c and later Oracle Database releases

Oracle Database Patch Maintenanceのキーワードに興味があるものの、ご覧になっていない方は、一度は目を通していただくのが良いかと思います。
この文書の目次は以下のとおりです。

Oracle Database Patch Maintenance*1 Table of Contents

  • 1 Patch Delivery Methods for Oracle Database
    • Introduction to Oracle Database Patch Maintenance
    • Proactive Maintenance with RUs and MRPs
      • Release Updates (RUs)
      • Monthly Recommended Patches (MRP)
      • RUs and MRPs Content Differences
      • Additional Proactive Patches
      • Proactive Patching Strategy
    • Reactive Maintenance with One-off Patches
    • Which Patching Method to Use?
    • Patch Conflict Resolution
    • Frequently Asked Questions
    • Current Database Proactive Patches
    • Documentation Accessibility

18 October 2022に、Oracle Critical Patch Update Advisory - October 2022と共に公開されたOracle Database 19c(19.17)からのパッチ配信方法の変更が記述されています。

次に、以前のバージョンの文書の目次です。

Oracle Database リリース12.2.0.1以降のバージョンのパッチ配信方法目次

Premier SupportおよびExtended Support期間中のリリースに対してのみプロアクティブなパッチは作成されるため、現時点での本文章の対象は Oracle Database 19c(19.16)まで*2です。

この2つの文書の目次からわかる大きな違いは、リリース更新リビジョン(RUR)がMonthly Recommended Patches (MRP)に変わっていることです。


MRPの説明は、Upgrade your Database - NOW! – Mike Dietrich's BlogOracle Cloud World 2022 - Recap and Slides & Patching News: RURs are gone - long live MRPs & Applying the first MRP for Oracle 19.17.0をご覧いただいたり、Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)から Sign Inし My Oracle Supportで関連文書をご覧ください。

MRPには、世界のどこかで生じた問題を、誰かがいち早く報告して解決策としてパッチ提供してくれた成果が、月次の累積パッチとして提供されるため、四半期ごとのタイミングを待たずにいち早く自らのシステムへ取り入れられます。
ただし、その点のみに着目してしまうと、今まで RURがあったLong Term Release for UNIX(HP-UX Itanium、IBM AIXOracle Solaris SPARC)に対してMRP未提供では、ややネガティブに捉えられる方もいらっしゃるかもしれません。
以下の理由により、個人的にはMRP未提供が大きな問題にならないと考えています。

  • RURはプロアクティブな適用は非推奨*3
  • Oracle Database Service for Azureを含む、Oracle Cloudにて提供される、エンジンタイプがOracle Databaseなデータ管理サービス(Base Dababase、Exadata Database、Autonomous Database)においても RURやMRPは適用されない
  • Amazon RDS for Oracleでも RURやMRPは適用されない
  • Innovation Releaseの Oracle Database 21cに対しても RURやMRPは作成されない

この変更への対策が必要な懸念がある方は、RURを取り扱ったことがあるのか適用済みのパッチリストが含まれるドキュメントやアセット管理ソフトウエアやサービスから調べてみたり、$ opatch lsinventory -detail や SQL> select xmltransform(dbms_qopatch.get_opatch_lsinventory, dbms_qopatch.get_opatch_xslt) from dual; を実行して、Patchの Inventory情報から その環境の正確なバージョンと適用されているパッチを把握すると良いでしょう。 *4*5*6*7*8*9*10
調べてみて、RURがなかったのなら、MRPに変わることに対して恐れることはないと思います。
一方で、RURを何度も使っていた方は、各種ドキュメントを読んで、将来の計画変更へ着手しましょう。

*1:Oracle Database - Overview of Database Patch Delivery Methods for 12.2.0.1 and greater (Doc ID 2337415.1) Last updated on AUGUST 08, 2022に"This document has been replaced by the proper chapter in the official Oracle Documentation. See https://docs.oracle.com/en/database/oracle/oracle-database/12.2/dbptc/index.html "とあり ーー このURLへアクセスすると https://docs.oracle.com/en/database/oracle/oracle-database/19/dbptc/index.html へ転送されるカラクリ。

*2:RURが作成されるのは、Sunsetting of 19c RURs and FAQ (Doc ID 2898381.1)記載のとおり、January 17, 2023にhttps://www.oracle.com/security-alerts/:Critical Patch Update - January 2023と共に公開される 19.16.2まで。

*3:Patching News: RURs are gone - long live MRPsにも書かれてはいますが、私も彼の言葉を引用する形で Oracle Databaseバージョン選択における考察'18 - wmo6hash::blogなどでお話しています。

*4:OpenVMS Itaniumは $TYPE ORA_ROOT:[PATCHES]PATCHES_HISTORY.TXT

*5:Opatchがリリース9.2以降の環境でインストールされていなかったら、https://updates.oracle.com/download/6880880.html から SQL> select * from v$version で把握できるバージョンに合わせて OPatchをダウンロードしてインストールして確認してみてください。9.2未満の環境では、統一されたインストール済みのパッチの確認方法はありません。

*6:My Oracle Support Community Debut - wmo6hash::blogを書いた13年前には、既に「なにはともあれOPatch」だったものの。それより前は……

*7:Oracle® Database New Features Guide 12c Release 1 (12.1) E49322-13 October 2019 > 2 Oracle Database 12c Release 1 (12.1.0.1) New Features > 2.6 Manageability > 2.6.3 General > 2.6.3.1 Queryable Patch Inventoryのため、DBMS_QOPATCH PL/SQLパッケージは12.1.0.1以上で利用可

*8:How to find out if a PSU has been applied? DBMS_QOPATCH – Upgrade your Database - NOW! Posted on February 2, 2016 by Mike.Dietrich

*9:Oracle 12c を実行している Amazon RDS インスタンスで DBMS_QOPATCH を使用するにはどうすればよいですか? 最終更新日:2022年6月9日

*10:現在 Amazon RDS for Oracleでサポートされているバージョンは19.4から19.17と21.5から21.7です。参考: RDS for Oracle のリリース - Amazon Relational Database ServiceAmazon RDS for Oracle Database 19c (19.0.0.0) - Amazon Relational Database ServiceAmazon RDS for Oracle Database 21c (21.0.0.0) - Amazon Relational Database Service