Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TechNight#66 - プロアクティブ・パッチの適用と新たなパッチ提供形態

TechNight#66 - プロアクティブ・パッチの適用と新たなパッチ提供形態

Oracle Database Technology Night #66で実施
プロアクティブ・パッチの適用と新たなパッチ提供形態

oracle4engineer

April 27, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. Copyright © 2023, Oracle and/or its affiliates 2 • プロアクティブ・パッチについて

    - プロアクティブ・パッチとは - プロアクティブ・パッチ適用のメリット - セキュリティ脆弱性への対応 - パッチ適用のベスト・プラクティス • MRP (Monthly Recommended Patches) について - MRP とは - MRP の適用・削除 - MRP のリリース状況 - MRP に関する FAQ • 参考情報 Agenda
  2. プロアクティブ・パッチとは Copyright © 2023, Oracle and/or its affiliates 4 •

    Release Update (RU) - 毎年1月、4月、7月、10月に四半期毎に提供される累積パッチ - セキュリティ関連の修正と非セキュリティ修正の両方を含む • Release Update Revision (RUR) - RUと同様に四半期毎に提供されるパッチ - セキュリティ関連の修正と非セキュリティ修正の両方を含む - RUがリリースされてから6ヶ月間に最大2回のリビジョンを提供 - 長期リリースのみ対象(現在は19cのみ) - 19.16 以前のリリースが対象 • Monthly Recommended Patches (MRP)
  3. • セキュリティ関連の修正と優先度の高い非セキュリティ修正の両方をサポート • 四半期毎に提供されるOracle DatabaseとGrid Infrastructureの修正の累積的なコレクション • 広範なテストを実施 (100万以上の機能テスト、ストレス・テストと破壊的テスト、パフォーマンス・テスト etc)

    • オプティマイザの不具合修正は、デフォルトで無効 • 常にRACローリングとStandby Firstでインストール可能 Release Update Copyright © 2023, Oracle and/or its affiliates 7 多くの修正が含まれるため、最新のRelease Updateの適用を推奨
  4. • 19c は長期(Long Term)リリースの位置付け • 長期リリースは最高レベルの安定性と最長のエラー修正サポートの提供 弊社開発部門及びサポート部門による19c RU による安定稼働への取り組み 長期(Long

    Term)リリース Copyright © 2023, Oracle and/or its affiliates 8 (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に対し推奨の個別パッチ情報も案内、重要な不具合情報の把握にも利用可能
  5. セキュリティ脆弱性への対応 Copyright © 2023, Oracle and/or its affiliates 9 •

    プロアクティブ・パッチにはCVEとその他の脆弱性対応が多数含まれる - 脆弱性の問題に対処する方法としては基本的に RU 適用による対応が必要 • 脆弱性については情報発信自体がリスクとなるため、公開されるのはCVE カテゴリやスコアのみ - 脆弱性の内容に関するお問い合わせにも、公開情報の提供に限定される 例えば、発生条件等に関して詳細な情報は提示できない 脆弱性対応は最新RUを適用しあらかじめ対応済みにすることが重要 ----CVEの公開情報--- Critical Patch Updates, Security Alerts and Bulletins Security Alerts Chicklet https://www.oracle.com/jp/security-alerts/ Map of CVE to Advisory/Alert https://www.oracle.com/security-alerts/public-vuln-to-advisory-mapping.html
  6. 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 affiliates 10
  7. Interim Patch (暫定パッチ/個別パッチ)よりRelease Updateが推奨 • オラクル社の開発部門でリリース前におこなっているテストの種類・量ともに大きな違いがある • Interim Patch: 個別環境での特定の不具合を修正するためのパッチのため不具合修正テストのみ実施

    • Release Update: リリースより6~12週前にコードをフリーズし、 広範なテストを経て出荷 (100万以上の機能テスト、ストレス・テストと破壊的テスト、パフォーマンス・テスト etc) • Interim Patchの過剰な適用により、世界に一つの「独自の環境」になってしまう可能性が高くなる Oracle Databaseのパッチ適用のベスト・プラクティス Copyright © 2023, Oracle and/or its affiliates 11
  8. • 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 affiliates 13 Doc ID 2903801.1 Monthly Recommended Patches (MRP) の概要および FAQ Doc ID 2904081.1 19c RUR に関する段階的終了のお知らせと FAQ
  9. • 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 affiliates 14 DATABASE MRP <対象RUの名称>.<リリース日付> DATABASE MRP 19.17.0.20221115
  10. • 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 affiliates 15 GI MRP <対象RUの名称>.<リリース日付> GI MRP 19.17.0.20230221
  11. • 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 affiliates 16
  12. • MRP は複数の不具合(Bug)に対する修正を一つにまとめてパッケージングしたパッチ • どの Bug の修正が含まれているかは、各 MRP の README

    を参照 (例) DATABASE MRP 19.17.0.20221115 の README 内の情報 以下の7つの不具合の修正が含まれています • 推奨パッチをまとめたドキュメントで Bug と MRP の一部紐付けあり MRP に含まれるすべての Bug の情報が記載されているわけではない点は注意が必要 MRP に含まれる不具合修正 Copyright © 2023, Oracle and/or its affiliates 17 Doc ID 555.1 Oracle Database 19c Important Recommended One-off Patche
  13. • MRP には複数 Bug の修正が含まれるが、RU/PSU やマージパッチとは動作が異なる ※ 具体的なイメージは次のスライドで説明 MRP の適用・削除

    Copyright © 2023, Oracle and/or its affiliates 18 パッチの種類 パッチ用のBug番号 インベントリでの管理 適用・削除時の動作 DBRU / DBPSU 有り (1つの)パッチ用のBug番号 一つのパッチとして適用・削除 マージパッチ 有り (1つの)パッチ用のBug番号 一つのパッチとして適用・削除 MRP 有り 含まれる複数の Bug番号 含まれる複数のBugのパッチを順に 適用・削除
  14. • DBRU/DBPSU やマージパッチの適用 • DBRU/DBPSU やマージパッチ(MLR)の Bug 番号で管理される • 例えば以下は、6つの

    Bug の修正を含む MLR を適用する場合 MRP の適用・削除 Copyright © 2023, Oracle and/or its affiliates 19 Bug1 Bug4 Bug2 Bug5 Bug3 Bug6 MLR の Bug番号 Inventory 34419443 (DBRU 19.17.0) Apply MLR の Bug番号
  15. • MRP の適用 • MRP に含まれる各 Bug の番号で管理される • MRP

    の Bug 番号では管理されない MRP の適用・削除 Copyright © 2023, Oracle and/or its affiliates 20 Bug1 Bug4 Bug2 Bug5 Bug3 Bug6 MRP の Bug番号 Inventory 34419443 (DBRU 19.17.0) Apply Bug1 Bug4 Bug2 Bug5 Bug3 Bug6
  16. • 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 affiliates 21 利用時には必ず適用する MRP に含まれる README に記載の手順をご確認ください
  17. DB MRP のケース (20230221 以上のリリースの場合) • MRP の適用手順は以下 1. 適用対象の

    ORACLE_HOME で稼働している DB インスタンス、リスナーを停止 2. opatch napply コマンドを使用して適用 ※ 記載の都合上改行しているが、実際には改行せず一行で実行 MRP の適用 (apply) Copyright © 2023, Oracle and/or its affiliates 22 $ <ORACLE_HOME>/OPatch/opatch napply <パッチの展開先ディレクトリ>/<MRPのBug番号> -oh <ORACLE_HOME> -verbose
  18. DB MRP のケース (20230117 以下のリリースの場合) • MRP の適用手順は以下 1. 適用対象の

    ORACLE_HOME で稼働している DB インスタンス、リスナーを停止 2. opatchauto apply コマンドを使用して適用 ※記載の都合上改行しているが、実際には改行せず一行で実行 MRP の適用 (apply) Copyright © 2023, Oracle and/or its affiliates 23 $ <ORACLE_HOME>/OPatch/opatchauto apply -binary <パッチの展開先ディレクトリ>/<MRPのBug番号> -oh <ORACLE_HOME> -target_type oracle_database
  19. • MRP に含まれる Bug の番号がそれぞれインベントリに記録される • どの MRP を適用したかを判別できる情報はなし MRP

    適用後のインベントリの情報 Copyright © 2023, Oracle and/or its affiliates 24 $ opatch lspatches 34724125;Fix for bug 34724125 34574048;POD EEHO-DEV5 UNABLE TO SWITCHOVER ODS DB 34538232;AFTER GI PATCHING AND DB UPGRADE TO 19.16 SESSIONS ARE CONSUMING TEMPTABLESPACE. 34366627;DNFS IO HANG DURING STRESS TEST 34333986;AIM ORA-600 [KTUSCV1 CV BUF TOO BIG] - KTUSCV1 33896423;FLUSH OUT STALE ANTILOCKS AND CONVERT KCLCLS_2 AND KCLANTILOCK_17 TO SOFT ASSERT 30691454;SYD E1POD DBHOME PATCHING COMPLETELY HUNG WITH KPDBHASHTABLE_FIND MULTIPLE INSTANCE HANG 34419443;Database Release Update : 19.17.0.0.221018 (34419443) 29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399) MRP 適用で追加された情報
  20. DB MRP のケース (20230221 以上のリリースの場合) • MRP の削除手順は以下 1. 削除対象の

    ORACLE_HOME で稼働している DB インスタンス、リスナーを停止 2. opatch nrollback コマンドを使用して削除 ※記載の都合上改行しているが、実際には改行せず一行で実行 • <patch> の箇所には MRP に含まれているパッチ番号を順に記載 • 含まれるパッチ番号は、MRP のファイルを unzip し、MRP 番号のディレクトリ配下に 作成されているディレクトリ名から確認可能 MRP の削除 (rollback) Copyright © 2023, Oracle and/or its affiliates 25 $ <ORACLE_HOME>/OPatch/opatch nrollback -id <patch1>,<patch2>, … , <patch n> -oh <ORACLE_HOME>
  21. DB MRP のケース (20230117 以下のリリースの場合) • MRP の削除手順は以下に 1. 削除対象の

    ORACLE_HOME で稼働している DB インスタンス、リスナーを停止 2. opatchauto rollback コマンドを使用して削除 ※記載の都合上改行しているが、実際には改行せず一行で実行 MRP の削除 (rollback) Copyright © 2023, Oracle and/or its affiliates 26 $ <ORACLE_HOME>/OPatch/opatchauto rollback -binary <パッチの展開先ディレクトリ>/<MRPのBug番号> -oh <ORACLE_HOME> -target_type oracle_database
  22. • MRP の適用手順は以下 1. RAC 環境の任意の一つのノードに root ユーザーで接続し、以下を実行 ※記載の都合上改行しているが、実際には改行せず一行で実行 •

    このコマンドにより、DB_HOME と GI_HOME の両方に適用される • コマンド実行時には、適用対象の DB 及び CRS が一時的に停止する 2. 適用完了後、他のノードで再度 1 と同じ手順を実行 3. 1, 2 の作業をすべてのノードで適用が完了するまで実行 MRP の適用 (apply) Copyright © 2023, Oracle and/or its affiliates 27 $ <GI_HOME>/OPatch/opatchauto apply -binary <パッチの展開先ディレクトリ>/<MRPのBug番号> -oh <ORACLE_HOME> -target_type oracle_database GI MRP のケース
  23. 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 affiliates 28 $ <GI_HOME>/OPatch/opatchauto rollback -binary <パッチの展開先ディレクトリ>/<MRPのBug番号> -oh <ORACLE_HOME> -target_type oracle_database
  24. • 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 affiliates 29
  25. AHF 23.3 以上を使用可能な場合 • AHF 23.3 から、適用済み MRP の情報が ahf

    software コマンドで確認可能 • 実行コマンドと実行結果の例 • AHF のバージョンは以下のコマンドで確認可能 • AHF は以下よりダウンロード可能 補足: MRP が適用されているかどうかの確認方法 Copyright © 2023, Oracle and/or its affiliates 30 $ ahf software get-mrp-level --oracle-home $ORACLE_HOME Database MRP 19.18.0.0.230221 $ ahf software get-version AHF version: 23.3.0.0.0 Build Timestamp: 20230405215257 Doc ID 2550798.1 Autonomous Health Framework (AHF) - Including TFA and ORAchk/EXAchk
  26. MRP に関する FAQ Copyright © 2023, Oracle and/or its affiliates

    31 MRP に関する FAQ を含むドキュメント ※以降のスライドでは FAQ 形式でいくつかMRP 関連の情報を紹介 (上記ドキュメントからは読み取れない内容を含む) Doc ID 2903801.1 Monthly Recommended Patches (MRP) の概要および FAQ
  27. FAQ - 1 Copyright © 2023, Oracle and/or its affiliates

    32 MRP に含まれている Bug のうち、一部の Bug のパッチだけ適用可能ですか? Question 可能です。 MRP を展開したディレクトリに <MRPの番号>/<MRP に含まれるBug番号> のディレクトリが存在しているため、その <MRPに含まれるBug番号> に cd で移動して、opatch apply コマンドを実行します Answer
  28. FAQ - 2 Copyright © 2023, Oracle and/or its affiliates

    33 MRP を適用済みの環境に対して、MRP に含まれている Bug と別の Bug のマージパッチを適用可能 ですか? Question 可能です。 MRP に含まれる Bug A と、その他の Bug B をマージした MLR X のマージパッチを適用した場合、 Bug A が MLR X に置き換えて適用されます。 Answer
  29. FAQ - 3 Copyright © 2023, Oracle and/or its affiliates

    34 MRP を適用済みの環境に対して、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
  30. FAQ - 4 Copyright © 2023, Oracle and/or its affiliates

    35 DBRU 19.17.0 から 19.18.0 に変更した場合、MRP は再度適用が必要ですか? Question はい、MRP は各 DBRU 毎にリリースされるため、DBRU 19.17.0 用の MRP と 19.18.0 用の MRP は 異なるものとしてリリースされています。 そのため、DBRU の変更時には、その DBRU に対してリリースされている MRP の適用が必要です。 Answer
  31. FAQ - 5 Copyright © 2023, Oracle and/or its affiliates

    36 MRP をダウンロードしようとするとパスワードを求められます どのようにすればよいでしょうか Question MRP は最新のもの以外はパスワード設定されています。 特別な理由がない限り、(パスワードが設定されていない) 最新の MRP をダウンロードして下さい 何らかの理由により過去の MRP が必要な場合、SR (Service Request) を登録してパスワードの申請を 行って頂く必要があります SR から発行されたパスワードは7日間に限って有効です Answer
  32. FAQ - 6 Copyright © 2023, Oracle and/or its affiliates

    37 DBRU 19.17.0 + MRP の環境で DBRU 19.18.0 を適用する場合、MRP は rollback が必要でしょうか。 Question DBRU 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
  33. FAQ - 7 Copyright © 2023, Oracle and/or its affiliates

    38 MRP に含まれる Bug と、既に個別パッチとして適用済みの Bug でコンフリクトが発生した場合、 どのように対応すればよいでしょうか。 Question MRP を適用後に、コンフリクトしている Bug (MRP に含まれる Bug と、既に個別パッチとして適用 済みの Bug) のマージパッチを適用してください。 マージパッチが作成されていない場合は新規に申請が必要になります。 マージパッチの申請対象は MRP の Bug ではなく、MRP に含まれていてコンフリクトしている Bug である点に注意してください。 Answer
  34. RU / RUR のリリース状況 参考情報 Copyright © 2023, Oracle and/or

    its affiliates 39 製品 2021/1 2021/4 2021/7 2021/10 2022/1 2022/4 2022/7 2022/10 2023/1 2023/4 19c 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.0 19.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
  35. • 2023/04/27 時点でのリリース状況 • 今後のリリース予定 2023/05/16, 2023/06/20, 2023/07/18 参考情報 Copyright

    © 2023, Oracle and/or its affiliates 40 対象RU/リリース時期 2022/11 2022/12 2023/01 2023/02 2023/03 2023/04 DBRU 19.17.0 DB MRP 19.17.0.0.221115 (Patch 34737974) DB MRP 19.17.0.0.221220 (Patch 34819700) DB MRP 19.17.0.0.230117 (Patch 34935010) DB MRP 19.17.0.0.230221 (Patch 35011213) DB MRP 19.17.0.0.230321 (Patch 35154667) DB MRP 19.17.0.0.230418 (Patch 35237165) DBRU 19.18.0 - - - DB MRP 19.18.0.0.230221 (Patch 35011316) DB MRP 19.18.0.0.230321 (Patch 35155358) DB MRP 19.18.0.0.230418 (Patch 35237121) GIRU 19.17.0 - - - GI MRP 19.17.0.0.230221 (Patch 35050373) GI MRP 19.17.0.0.230321 (Patch 35155225) GI MRP 19.17.0.0.230418 (Patch 35237181) GIRU 19.18.0 - - - GI MRP 19.18.0.0.230221 (Patch 35050275) GI MRP 19.18.0.0.230221 (Patch 35155373) GI MRP 19.18.0.0.230418 (Patch 35237146) MRP のリリース状況
  36. 参考情報 Copyright © 2023, Oracle and/or its affiliates 41 •

    プロアクティブ・パッチ関連 • 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 その他ドキュメント