Oracle Database Technology Night #66で実施 プロアクティブ・パッチの適用と新たなパッチ提供形態
プロアクティブ・パッチの適用と新たなパッチ提供形態Oracle Database Technology Night #66栁田 悠日本オラクル株式会社データベーステクノロジーサポート本部データベースサポート部2023年 4月
View Slide
Copyright © 2023, Oracle and/or its affiliates2• プロアクティブ・パッチについて- プロアクティブ・パッチとは- プロアクティブ・パッチ適用のメリット- セキュリティ脆弱性への対応- パッチ適用のベスト・プラクティス• MRP (Monthly Recommended Patches) について- MRP とは- MRP の適用・削除- MRP のリリース状況- MRP に関する FAQ• 参考情報Agenda
プロアクティブ・パッチについてCopyright © 2023, Oracle and/or its affiliates3
プロアクティブ・パッチとはCopyright © 2023, Oracle and/or its affiliates4• Release Update (RU)- 毎年1月、4月、7月、10月に四半期毎に提供される累積パッチ- セキュリティ関連の修正と非セキュリティ修正の両方を含む• Release Update Revision (RUR)- RUと同様に四半期毎に提供されるパッチ- セキュリティ関連の修正と非セキュリティ修正の両方を含む- RUがリリースされてから6ヶ月間に最大2回のリビジョンを提供- 長期リリースのみ対象(現在は19cのみ)- 19.16 以前のリリースが対象• Monthly Recommended Patches (MRP)
定期的にプロアクティブ・パッチを適用しているお客様事例不具合の事前予防措置の効果不具合の発生率を削減重要度1の障害の発生率を削減Copyright © 2023, Oracle and/or its affiliates5
システムの安定性を向上させることができる• 定期的にリリースされる累積パッチは、遭遇する可能性の高い重篤な問題の修正を含む• 問題発生を未然に防止することはシステムの安定稼働に繋がる問題発生時の早期解決が期待できる• パッチを適用せずに問題が発生した場合と比較して、原因調査にかかる時間やコストを省くことができる公開されているセキュリティ脆弱性への考慮機会を削減することができる• セキュリティ脆弱性に関する修正はプロアクティブ・パッチに含まれる定期的にパッチを適用いただくメリットCopyright © 2023, Oracle and/or its affiliates6
• セキュリティ関連の修正と優先度の高い非セキュリティ修正の両方をサポート• 四半期毎に提供されるOracle DatabaseとGrid Infrastructureの修正の累積的なコレクション• 広範なテストを実施(100万以上の機能テスト、ストレス・テストと破壊的テスト、パフォーマンス・テスト etc)• オプティマイザの不具合修正は、デフォルトで無効• 常にRACローリングとStandby Firstでインストール可能Release UpdateCopyright © 2023, Oracle and/or its affiliates7多くの修正が含まれるため、最新のRelease Updateの適用を推奨
• 19c は長期(Long Term)リリースの位置付け• 長期リリースは最高レベルの安定性と最長のエラー修正サポートの提供弊社開発部門及びサポート部門による19c RU による安定稼働への取り組み長期(Long Term)リリースCopyright © 2023, Oracle and/or its affiliates8(1) 優先的なCode Fix (2) RUへのInclude (3) RU別の推奨パッチ(Doc 555.1)(1) Automation による自動不具合登録及び、19c で発生する事象の優先的な Code Fix(2) 重要な Code Fixおよび安定稼働に有効な多数の修正を 19c RUへ Include 済み(3) 最新4つのRUに対し推奨の個別パッチ情報も案内、重要な不具合情報の把握にも利用可能
セキュリティ脆弱性への対応Copyright © 2023, Oracle and/or its affiliates9• プロアクティブ・パッチにはCVEとその他の脆弱性対応が多数含まれる- 脆弱性の問題に対処する方法としては基本的に RU 適用による対応が必要• 脆弱性については情報発信自体がリスクとなるため、公開されるのはCVE カテゴリやスコアのみ- 脆弱性の内容に関するお問い合わせにも、公開情報の提供に限定される例えば、発生条件等に関して詳細な情報は提示できない脆弱性対応は最新RUを適用しあらかじめ対応済みにすることが重要----CVEの公開情報---Critical Patch Updates, Security Alerts and Bulletins Security Alerts Chicklethttps://www.oracle.com/jp/security-alerts/Map of CVE to Advisory/Alerthttps://www.oracle.com/security-alerts/public-vuln-to-advisory-mapping.html
Release Updateは四半期ごとに適用する• 四半期ごとの適用を想定して提供• 最新のセキュリティ・パッチに加えて、広く該当する可能性がある不具合の修正が提供セキュリティと不具合の両方に対して問題が起きる前に対応できる• 実行計画に影響するオプティマイザの修正はデフォルトで無効負荷が高いパフォーマンス・テストをおこなう必要がない• 累積パッチであるため、四半期ごとの適用が難しい場合には半期ごとの適用も可能(それ以下の頻度は推奨しない)• Oracle Database 19c の場合は Doc ID 555.1 の推奨パッチ(19.17以降のLinux版は Doc ID 2898740.1 の Monthly Recommended Patches)Exadata X8M/X9Mの場合は Doc ID 2724126.1 の推奨パッチも併せて適用を推奨(最新情報は各ドキュメントの定期的な確認を推奨)Oracle Databaseのパッチ適用のベスト・プラクティスCopyright © 2023, Oracle and/or its affiliates10
Interim Patch (暫定パッチ/個別パッチ)よりRelease Updateが推奨• オラクル社の開発部門でリリース前におこなっているテストの種類・量ともに大きな違いがある• Interim Patch:個別環境での特定の不具合を修正するためのパッチのため不具合修正テストのみ実施• Release Update:リリースより6~12週前にコードをフリーズし、 広範なテストを経て出荷(100万以上の機能テスト、ストレス・テストと破壊的テスト、パフォーマンス・テスト etc)• Interim Patchの過剰な適用により、世界に一つの「独自の環境」になってしまう可能性が高くなるOracle Databaseのパッチ適用のベスト・プラクティスCopyright © 2023, Oracle and/or its affiliates11
MRPについて(Monthly Recommended Patches)Copyright © 2023, Oracle and/or its affiliates12
• RU のリリース後 6か月間、各 RU に対して提供されるパッチ• リリース間隔は毎月• 複数の推奨パッチを1つにまとめたパッチ• 同一RUに対する MRP に含まれる修正は累積• 対象プラットフォームは Linux x86-64 のみ• 19c の RUR 廃止に伴い提供開始 (19.17以降のリリースが対象)• 基本的にセキュリティ脆弱性の修正は含まれない• MRP がどのようなパッチであるかは以下の MOS ドキュメント参照MRP (Monthly Recommended Patches) とはCopyright © 2023, Oracle and/or its affiliates13Doc ID 2903801.1 Monthly Recommended Patches (MRP) の概要および FAQDoc ID 2904081.1 19c RUR に関する段階的終了のお知らせと FAQ
• MRP は以下の名前で提供• ①対象RUの名称、と、②そのMRPのリリース日付、が名前に含まれる※「リリース日付」は開発段階での情報のため、実際のリリース日付と異なる可能性あり• 例えば、DBRU 19.17.0 に対して適用可能な 2022/11/15 にリリースされた MRP は以下• MRP は6ヶ月間毎月リリースされる19.17.0 に対しては 2022年11月、12月、2023年1月、2月、3月、4月にそれぞれリリースMRP の名称Copyright © 2023, Oracle and/or its affiliates14DATABASE MRP <対象RUの名称>.<リリース日付>DATABASE MRP 19.17.0.20221115
• 2023/02/21 リリースの MRP から GI (Grid Infrastructure) 用の MRP がリリース• GI 用の MRP は以下の名前で提供• ①対象RUの名称、と、②そのMRPのリリース日付、が名前に含まれる※「リリース日付」は開発段階での情報のため、実際のリリース日付と異なる可能性あり• 例えば、GIRU 19.17.0 に対して適用可能な 2023/02/21 にリリースされた MRP は以下MRP の名称Copyright © 2023, Oracle and/or its affiliates15GI MRP <対象RUの名称>.<リリース日付>GI MRP 19.17.0.20230221
• 2023/02/21 リリースの MRP から、以下の2種類の MRP がリリース• DB MRP : (RACではない)シングル環境用の MRP• GI MRP : RAC 環境用の MRP• DB MRP と GI MRP はそれぞれパッチ番号が異なる• RAC 環境の場合、DB_HOME と GI_HOME の両方に対して GI MRP を適用• DB_HOME : Oracle Database ソフトウェアのインストールディレクトリ• GI_HOME : Oracle Grid Infrastructure ソフトウェアのインストールディレクトリMRP と適用対象Copyright © 2023, Oracle and/or its affiliates16
• MRP は複数の不具合(Bug)に対する修正を一つにまとめてパッケージングしたパッチ• どの Bug の修正が含まれているかは、各 MRP の README を参照(例) DATABASE MRP 19.17.0.20221115 の README 内の情報以下の7つの不具合の修正が含まれています• 推奨パッチをまとめたドキュメントで Bug と MRP の一部紐付けありMRP に含まれるすべての Bug の情報が記載されているわけではない点は注意が必要MRP に含まれる不具合修正Copyright © 2023, Oracle and/or its affiliates17Doc ID 555.1 Oracle Database 19c Important Recommended One-off Patche
• MRP には複数 Bug の修正が含まれるが、RU/PSU やマージパッチとは動作が異なる※ 具体的なイメージは次のスライドで説明MRP の適用・削除Copyright © 2023, Oracle and/or its affiliates18パッチの種類 パッチ用のBug番号 インベントリでの管理 適用・削除時の動作DBRU / DBPSU 有り (1つの)パッチ用のBug番号 一つのパッチとして適用・削除マージパッチ 有り (1つの)パッチ用のBug番号 一つのパッチとして適用・削除MRP 有り 含まれる複数の Bug番号含まれる複数のBugのパッチを順に適用・削除
• DBRU/DBPSU やマージパッチの適用• DBRU/DBPSU やマージパッチ(MLR)の Bug 番号で管理される• 例えば以下は、6つの Bug の修正を含む MLR を適用する場合MRP の適用・削除Copyright © 2023, Oracle and/or its affiliates19Bug1 Bug4Bug2 Bug5Bug3 Bug6MLR の Bug番号Inventory34419443 (DBRU 19.17.0)ApplyMLR の Bug番号
• MRP の適用• MRP に含まれる各 Bug の番号で管理される• MRP の Bug 番号では管理されないMRP の適用・削除Copyright © 2023, Oracle and/or its affiliates20Bug1 Bug4Bug2 Bug5Bug3 Bug6MRP の Bug番号Inventory34419443 (DBRU 19.17.0)ApplyBug1 Bug4Bug2 Bug5Bug3 Bug6
• DB MRP と GI MRP では手順が異なる• DB MRP は oracle (のインストール)ユーザーで実行可能GI MRP は root ユーザーでの実行が必須• DB MRP の適用・削除手順は、20230221 以降とそれ以前ではコマンドが変更されている• 20230221 以上 : opatch napply/nrollback コマンド• 20230117 以下 : opathauto apply/rollback コマンド※ 具体的な適用・削除手順を次以降のスライドで説明MRP の適用・削除Copyright © 2023, Oracle and/or its affiliates21利用時には必ず適用する MRP に含まれる README に記載の手順をご確認ください
DB MRP のケース (20230221 以上のリリースの場合)• MRP の適用手順は以下1. 適用対象の ORACLE_HOME で稼働している DB インスタンス、リスナーを停止2. opatch napply コマンドを使用して適用※ 記載の都合上改行しているが、実際には改行せず一行で実行MRP の適用 (apply)Copyright © 2023, Oracle and/or its affiliates22$ /OPatch/opatch napply <パッチの展開先ディレクトリ>/-oh -verbose
DB MRP のケース (20230117 以下のリリースの場合)• MRP の適用手順は以下1. 適用対象の ORACLE_HOME で稼働している DB インスタンス、リスナーを停止2. opatchauto apply コマンドを使用して適用※記載の都合上改行しているが、実際には改行せず一行で実行MRP の適用 (apply)Copyright © 2023, Oracle and/or its affiliates23$ /OPatch/opatchauto apply-binary <パッチの展開先ディレクトリ>/-oh -target_type oracle_database
• MRP に含まれる Bug の番号がそれぞれインベントリに記録される• どの MRP を適用したかを判別できる情報はなしMRP 適用後のインベントリの情報Copyright © 2023, Oracle and/or its affiliates24$ opatch lspatches34724125;Fix for bug 3472412534574048;POD EEHO-DEV5 UNABLE TO SWITCHOVER ODS DB34538232;AFTER GI PATCHING AND DB UPGRADE TO 19.16 SESSIONS ARE CONSUMING TEMPTABLESPACE.34366627;DNFS IO HANG DURING STRESS TEST34333986;AIM ORA-600 [KTUSCV1 CV BUF TOO BIG] - KTUSCV133896423;FLUSH OUT STALE ANTILOCKS AND CONVERT KCLCLS_2 AND KCLANTILOCK_17 TO SOFT ASSERT30691454;SYD E1POD DBHOME PATCHING COMPLETELY HUNG WITH KPDBHASHTABLE_FIND MULTIPLE INSTANCE HANG34419443;Database Release Update : 19.17.0.0.221018 (34419443)29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)MRP 適用で追加された情報
DB MRP のケース (20230221 以上のリリースの場合)• MRP の削除手順は以下1. 削除対象の ORACLE_HOME で稼働している DB インスタンス、リスナーを停止2. opatch nrollback コマンドを使用して削除※記載の都合上改行しているが、実際には改行せず一行で実行• の箇所には MRP に含まれているパッチ番号を順に記載• 含まれるパッチ番号は、MRP のファイルを unzip し、MRP 番号のディレクトリ配下に作成されているディレクトリ名から確認可能MRP の削除 (rollback)Copyright © 2023, Oracle and/or its affiliates25$ /OPatch/opatch nrollback -id ,, … , -oh
DB MRP のケース (20230117 以下のリリースの場合)• MRP の削除手順は以下に1. 削除対象の ORACLE_HOME で稼働している DB インスタンス、リスナーを停止2. opatchauto rollback コマンドを使用して削除※記載の都合上改行しているが、実際には改行せず一行で実行MRP の削除 (rollback)Copyright © 2023, Oracle and/or its affiliates26$ /OPatch/opatchauto rollback-binary <パッチの展開先ディレクトリ>/-oh -target_type oracle_database
• MRP の適用手順は以下1. RAC 環境の任意の一つのノードに root ユーザーで接続し、以下を実行※記載の都合上改行しているが、実際には改行せず一行で実行• このコマンドにより、DB_HOME と GI_HOME の両方に適用される• コマンド実行時には、適用対象の DB 及び CRS が一時的に停止する2. 適用完了後、他のノードで再度 1 と同じ手順を実行3. 1, 2 の作業をすべてのノードで適用が完了するまで実行MRP の適用 (apply)Copyright © 2023, Oracle and/or its affiliates27$ /OPatch/opatchauto apply-binary <パッチの展開先ディレクトリ>/-oh -target_type oracle_databaseGI MRP のケース
GI MRP のケース• MRP の削除手順は以下1. RAC 環境の任意の一つのノードに root ユーザーで接続し、以下を実行※記載の都合上改行しているが、実際には改行せず一行で実行• このコマンドにより、DB_HOME と GI_HOME の両方から削除される• コマンド実行時には、削除対象の DB 及び CRS が一時的に停止する2. 削除完了後、他のノードで再度 1 と同じ手順を実行3. 1, 2 の作業をすべてのノードで適用が完了するまで実行MRP の削除 (rollback)Copyright © 2023, Oracle and/or its affiliates28$ /OPatch/opatchauto rollback-binary <パッチの展開先ディレクトリ>/-oh -target_type oracle_database
• DB MRP の適用・削除手順は、20230221 以降とそれ以前ではコマンドが変更されている• 20230221 以上 : opatch napply/nrollback コマンド• 20230117 以下 : opathauto apply/rollback コマンド• opatch / opatchauto コマンドを実行するユーザーは DB MRP と GI MRP で異なる• DB MRP ➔ oracle ユーザー (DB Software のインストールユーザー) で実行可能• GI MRP ➔ root ユーザーでの実行が必須MRP 適用・削除方法のまとめCopyright © 2023, Oracle and/or its affiliates29
AHF 23.3 以上を使用可能な場合• AHF 23.3 から、適用済み MRP の情報が ahf software コマンドで確認可能• 実行コマンドと実行結果の例• AHF のバージョンは以下のコマンドで確認可能• AHF は以下よりダウンロード可能補足: MRP が適用されているかどうかの確認方法Copyright © 2023, Oracle and/or its affiliates30$ ahf software get-mrp-level --oracle-home $ORACLE_HOMEDatabase MRP 19.18.0.0.230221$ ahf software get-versionAHF version: 23.3.0.0.0Build Timestamp: 20230405215257Doc ID 2550798.1 Autonomous Health Framework (AHF) - Including TFA and ORAchk/EXAchk
MRP に関する FAQCopyright © 2023, Oracle and/or its affiliates31MRP に関する FAQ を含むドキュメント※以降のスライドでは FAQ 形式でいくつかMRP 関連の情報を紹介(上記ドキュメントからは読み取れない内容を含む)Doc ID 2903801.1 Monthly Recommended Patches (MRP) の概要および FAQ
FAQ - 1Copyright © 2023, Oracle and/or its affiliates32MRP に含まれている Bug のうち、一部の Bug のパッチだけ適用可能ですか?Question可能です。MRP を展開したディレクトリに / のディレクトリが存在しているため、その に cd で移動して、opatch apply コマンドを実行しますAnswer
FAQ - 2Copyright © 2023, Oracle and/or its affiliates33MRP を適用済みの環境に対して、MRP に含まれている Bug と別の Bug のマージパッチを適用可能ですか?Question可能です。MRP に含まれる Bug A と、その他の Bug B をマージした MLR X のマージパッチを適用した場合、Bug A が MLR X に置き換えて適用されます。Answer
FAQ - 3Copyright © 2023, Oracle and/or its affiliates34MRP を適用済みの環境に対して、MRP に含まれている Bug と別の Bug のマージパッチを適用した後に MRP をrollback することは可能ですか?Question可能です。MRP に含まれる Bug A と、その他の Bug B をマージした MLR X のマージパッチを適用した場合、Bug A が MLR X に置き換えて適用されます。この状態で MRP を rollback すると、MLR X は適用した状態で、他の MLR に含まれる Bug のみがrollback されます。Answer
FAQ - 4Copyright © 2023, Oracle and/or its affiliates35DBRU 19.17.0 から 19.18.0 に変更した場合、MRP は再度適用が必要ですか?Questionはい、MRP は各 DBRU 毎にリリースされるため、DBRU 19.17.0 用の MRP と 19.18.0 用の MRP は異なるものとしてリリースされています。そのため、DBRU の変更時には、その DBRU に対してリリースされている MRP の適用が必要です。Answer
FAQ - 5Copyright © 2023, Oracle and/or its affiliates36MRP をダウンロードしようとするとパスワードを求められますどのようにすればよいでしょうかQuestionMRP は最新のもの以外はパスワード設定されています。特別な理由がない限り、(パスワードが設定されていない) 最新の MRP をダウンロードして下さい何らかの理由により過去の MRP が必要な場合、SR (Service Request) を登録してパスワードの申請を行って頂く必要がありますSR から発行されたパスワードは7日間に限って有効ですAnswer
FAQ - 6Copyright © 2023, Oracle and/or its affiliates37DBRU 19.17.0 + MRP の環境で DBRU 19.18.0 を適用する場合、MRP は rollback が必要でしょうか。QuestionDBRU 19.17.0 上の MRP は DBRU 19.18.0 には適用ができません(コンフリクトが検知されます)。そのため、 DBRU 19.17.0 + MRP の環境で DBRU 19.18.0 を適用する場合、以下のいずれかの対応を行うことになります。• DBRU 19.18.0 適用時に表示されるコンフリクトのメッセージを無視して適用を進める(MRP は自動的に rollback されます)• 事前に DBRU 19.17.0 に対して適用済みの MRP をrollback した上で、DBRU 19.18.0 を適用するまた、DBRU 19.18.0 適用後は 19.18.0 用の MRP を改めて適用してください。Answer
FAQ - 7Copyright © 2023, Oracle and/or its affiliates38MRP に含まれる Bug と、既に個別パッチとして適用済みの Bug でコンフリクトが発生した場合、どのように対応すればよいでしょうか。QuestionMRP を適用後に、コンフリクトしている Bug (MRP に含まれる Bug と、既に個別パッチとして適用済みの Bug) のマージパッチを適用してください。マージパッチが作成されていない場合は新規に申請が必要になります。マージパッチの申請対象は MRP の Bug ではなく、MRP に含まれていてコンフリクトしている Bugである点に注意してください。Answer
RU / RUR のリリース状況参考情報Copyright © 2023, Oracle and/or its affiliates39製品 2021/1 2021/4 2021/7 2021/10 2022/1 2022/4 2022/7 2022/10 2023/1 2023/419c 19.10.0 19.11.0 19.12.0 19.13.0 19.14.0 19.15.0 19.16.0 19.17.0 19.18.0 19.19.019.9.1 19.10.1 19.11.1 19.12.1 19.13.1 19.14.1 19.15.1 19.16.1 - -19.8.2 19.9.2 19.10.2 19.11.2 19.12.2 19.13.2 19.14.2 19.15.2 19.16.2 -21c 21.4.0 21.5.0 21.6.0 21.7.0 21.8.0 21.9.0 21.10.0• 19c での RUR のリリースは 19.17.0 以上では廃止• Doc ID 2904081.1 19c RUR に関する段階的終了のお知らせと FAQ• 各リリース毎の出荷時期は以下に記載• Doc ID 2796590.1 Oracle Database 21c Proactive Patch Information• Doc ID 2521164.1 Oracle Database 19c Proactive Patch Information• Doc ID 2369376.1 Database 18c Proactive Patch Information
• 2023/04/27 時点でのリリース状況• 今後のリリース予定2023/05/16, 2023/06/20, 2023/07/18参考情報Copyright © 2023, Oracle and/or its affiliates40対象RU/リリース時期 2022/11 2022/12 2023/01 2023/02 2023/03 2023/04DBRU 19.17.0DB MRP19.17.0.0.221115(Patch 34737974)DB MRP19.17.0.0.221220(Patch 34819700)DB MRP19.17.0.0.230117(Patch 34935010)DB MRP19.17.0.0.230221(Patch 35011213)DB MRP19.17.0.0.230321(Patch 35154667)DB MRP19.17.0.0.230418(Patch 35237165)DBRU 19.18.0 - - -DB MRP19.18.0.0.230221(Patch 35011316)DB MRP19.18.0.0.230321(Patch 35155358)DB MRP19.18.0.0.230418(Patch 35237121)GIRU 19.17.0 - - -GI MRP19.17.0.0.230221(Patch 35050373)GI MRP19.17.0.0.230321(Patch 35155225)GI MRP19.17.0.0.230418(Patch 35237181)GIRU 19.18.0 - - -GI MRP19.18.0.0.230221(Patch 35050275)GI MRP19.18.0.0.230221(Patch 35155373)GI MRP19.18.0.0.230418(Patch 35237146)MRP のリリース状況
参考情報Copyright © 2023, Oracle and/or its affiliates41• プロアクティブ・パッチ関連• Doc ID 555.1 Oracle Database 19c Important Recommended One-off Patches• Doc ID 888.1 Primary Note for Database Proactive Patch Program• MRP関連• Doc ID 2903801.1 Monthly Recommended Patches (MRP) の概要および FAQ• AHF関連• Doc ID 2550798.1 Autonomous Health Framework (AHF) - Including TFA and ORAchk/EXAchkその他ドキュメント