【ピックアップ記事】パッチ対応やアップグレードをしたくない7つの理由


本日は、オラクルのデータベース・アップグレード開発グループの上級エンジニアであるMike Dietrich氏のブログ、『Upgrade your Database - NOW!』の中の、”Why people don't patch and upgrade?!? ”(何故人々はパッチ対応やアップグレードをしないのか?)というトピックをご紹介したいと思います。

先日、Oracle Database 11gの最後のパッチセットリリース(PSR)である、11.2.0.4が出ました。また、メジャーバージョンアップである12cもその後に控えています。

Oracle Databaseのすべてのお客様が避けては通れない、パッチ対応とアップグレード。日々、データベースを運用管理しているエンジニアさんならば、「ようやくアプリケーションが安定稼動してきたのになぁ・・・。」「寝た子を起こすのはなるべく先延ばしにしたい。」と内心思っている方は少なくないでしょう。この記事はそんな方々に是非読んでみていただきたいと思っています。




以下、記事抄訳)

「なぜアップグレードするのか」「なぜアップグレードしないのか」という議論は、必ずしも楽しいものではありません。

実際のところ、この議論は多くのお客様の間で何度も繰り返されているものです。特に多く寄せられるご意見は次のようなものです。

  • PSUやパッチ・セットによって新しいバグが発生する
  • 新しいPSUやパッチ・セットによって新機能が実装され、そのためにリスクが生じ、アプリケーションの検証が必要になる
  • パッチ適用とはリスクそのものである
  • パッチ適用によって実行計画が変更される
  • パッチ適用のために必要なテストが多すぎる
  • DBAにとってパッチ適用の負荷があまりに高い
  • パッチ適用のコストが高すぎて割に合わない

正直に言うと、私はこのような議論になると穏やかな気持ちでいられなくなることがあります。これらの点についてもう少し詳しく見ていきましょう。

PSUやパッチ・セットによって新しいバグが発生する

確かにそのとおりです。コードがたったの数行という短いプログラムを除けば、どんなソフトウェアにもバグが含まれているものです。これはオラクルのコードだけでなく、あらゆるアプリケーションやオペレーティング・システムのコードについても言えます。しかし、パッチによって新しい脆弱性が生じる可能性があるからといって、OSにパッチを適用しない理由になるでしょうか

それに、「新しいバグが発生する」とはどのような意味なのでしょうか。重大な問題がすでに判明していて修正済みだというのに、それを処理しないということでしょうか

MOS Note:161818.1から、現在ご使用のパッチ・リリース(10.2.0.4でも、11.2.0.3でも)までスクロールし、既知の問題と警告をご覧ください。(※閲覧にはMyOracle Supportの登録が必要です)

これらすべての問題を把握しておきながら、11.2.0.4へのアップグレードを実行しないことに責任を持てるでしょうか?私にはできません。

新しいPSUやパッチ・セットによって新機能が実装される

そうですね、これは議論の余地がありますね。
データベース・パッチ・セット内で新機能が提供されるという意見は疑わしいものです。11.2.0.4でDatabase Redactionをバックポートしたように、メリットもありますが、これはAdvanced Securityライセンスを取得した場合にのみ使用するものです。新しい"機能"が実装されるというご意見は非常に頻繁に耳にしますが、お客様は「新しい"動作"に驚かされたくない」のだと私は解釈しています。

確かにこれは、すべての人に困難をもたらします。こういったものが文書化されておらず、READMEにさえ記載されていないという例は過去に多くありました(10.2.0.4のSESSION_CACHED_CURSROSや、11.2.0.2の_DATAFILE_WRITE_ERRORS_CRASH_INSTANCEなど)。

多くの友人のおかげで、私はこれらについても学ぶことができました。つまり、お客様がリスクと見なしているのは新しい動作であって、新しい機能というわけではないのです。この点についてはっきりさせておくと、PSUによって新しい機能や動作が導入されることは、もちろんありません。

パッチ適用とはリスクそのものである

本当にリスクなのでしょうか。確かに以前は(時々ですが現在も)、パッチが正常にインストールされないという問題が発生することはありました。しかし、個人的には、パッチを適用しない方がはるかにリスクが大きいと思います。覚えておいていただきたいのは、オラクルがセキュリティ修正を含むPSU(またはCPU)をリリースする日に、多くの優れたセキュリティ専門家が自分たちの研究結果を公開するということです。

つまり、その日を境に、データベースの知識がまったく無い人でもこれらの問題を発見して誰かを攻撃できるようになるのです。

そうお話しすると、「当社のデータベースはインターネットに直接接続されていない」と言う方が多いのですが、私は「攻撃者はすでファイアウォールの内側まで来ていて、そういったことを知っている可能性があります」とお答えするようにしています。

私が言いたいのは、パッチを適用しなければ、適用する場合よりもはるかに大きなリスクが環境内に発生するということです。冗談ではありません。

パッチ適用によって実行計画が変更される

本当でしょうか確かに、パッチ・セットによって実行計画の変更が発生するリスクはほんの少しだけありますが、PSUやCPUにはありません。動作を変更するオプティマイザ修正が含まれていないからです(ただし、クエリー結果が不適切になるバグを直す修正は含まれていることがあります)。

しかし、実行計画の変更は具体的にどういった点が問題になるのでしょうかOracle Database 11gでは、実行計画をとても簡単に準備することができます。無料のEE機能SQL Plan Management(SPM)を利用できるため、実行計画の変更が発生した場合は、その計画を計画ベースラインに追加することになります。

変更が起きてからビックリするのが嫌ですか?それなら、Oracle Real Application TestingのSQL Performance Analyzer(SPA)を使用してみましょう。変更を数分で事前検出できます。忘れてはならないのが、計画変更によって非常に良い効果が生まれる場合もあるということです。

データベース・パッチ・セットには確かに多少のリスクはありますが、適用前に検出できる可能性が高いのです。

パッチ適用のために必要なテストが多すぎる


本当にそうなのでしょうか。私はこの12年間、多くのお客様のテストを見てきました。テストの作業量やアプローチは千差万別です。ライセンスやプロジェクト・チームの人件費に膨大な予算をつぎ込んでいた企業もあれば、まったくテストを実施せず、やみくもに突き進むという豪快なアプローチを採用する企業もありました。

適切なツールを使えば、多くの労力をかけず簡単にテストを実施できます。オラクルは、先ほど紹介したOracle Real Application Testingを使用して、多くのお客様のプロジェクトでテストの作業量を50%以上削減してきました。

しかし、それは別にして、テストはどこかの時点で終了しなければなりません。そうしなければ目的を見失ってしまい、予算を無駄にすることになります。100%の保証というものはありません。多少のリスクには対処する必要があります。最後の5%を確実にするためには、95%までたどり着くのにかかった費用と同じ額が必要になるからです。これをやると製品サイクルが異常に長くなり、永遠に遅れることになってしまいます。また、さらに多くの金額が必要になります。

DBAにとってパッチ適用の負荷があまりに高い


パッチの適用に多くの作業が必要になるということには同意します。それに、楽しい仕事ではありませんし、退屈でイライラします。学べることもあまり多くありません。だからこそ、パッチ適用の自動化を試してみるべきなのです。

Database Lifecycle Management Packを使ってみてください。「有償ソリューションではないか」というご批判は、どうかご容赦を。確かに無償ではありませんが、作業が容易になり、パッチの適用に貴重な時間を無駄にすることがなくなるため、費用を大幅に抑えられます。

あるいは、Oracle Database 12c Oracle Multitenantを使用してみましょう。コンテナ・データベースの取り外しと接続によってパッチを適用することもできますし、すべてのPDBが含まれるコンテナ・データベース全体にパッチを適用すれば、1つのパッチを1回の作業で適用できます。

一部のお客様の事例では、Lifecycle Management Packを使用したことで、時間、作業量、コストを75%削減できることが証明されました。お使いになってみてはいかがでしょうか。

パッチ適用のコストが高すぎて割に合わない

先ほど述べたとおりです。それに、コストに見合った効果はあります。オラクルがすでに修正した既知の深刻な脆弱性(2013年10月のOracle Database 12c向けPSUなど)が100個ある状態でデータベースを使用すると、障害やデータ消失が発生した場合のコストは、パッチ適用よりもはるかに高くなります。本当の話です。

では、最後にアップグレードに関する2つの話題を取り上げましょう

どんな携帯電話を使用していますか。また、その電話のOSは何ですか?

iPhone 5を使っている方は、もうiOS 7.0.3にアップグレードしたでしょうか先日、私のiPhoneで発生したことなのですが、アラーム(旅行の時に使っています)が物理スイッチの"サウンドオン/オフ"の影響を受けるようになってしまいました。このスイッチを物理的に"オフ"にすると、アラームが"静かに"鳴るようになってしまうのです。

パッチ・セットに伴う動作変更の良い例ではないでしょうか。だからといって、iOS 5やiOS 6のまま使い続けるわけにはいきません。旧OSには今後修正が提供されないセキュリティの脆弱性が含まれているからです。

インターネット閲覧にどのブラウザを使用していますか?

Mozilla 3.6を使っている方は、ハッカーの格好の標的です。攻撃者にとって、古いブラウザを攻撃してシステムに損害を与えるというのは造作もないことです。多くの方は自動更新を有効にしていると思います。Google Chrome、Safari、IEについても同様です。

Mike Dietrich


★ OTN Japanからのお知らせ

Oracle Databaseのアップグレード情報ページを全面リニューアルしました。
アップグレードに不安を抱えている方は、是非、ご参照ください。

11gへのアップレード

12cへのアップグレード

11gユーザの方はこちらもご参考ください。

(オラクルエンジニア通信
Oracle Database 11gR2の最新パッチセット11.2.0.4がリリースされました




Comments:

Post a Comment:
Comments are closed for this entry.
About


オラクル製品・テクノロジーに関心のある技術者・開発者のためのコミュニティ、 Oracle Technology Network Japanのブログです。
OTN Twitterもフォローをお願いします。


Search

Archives
« 4月 2014
  
1
2
3
4
5
6
8
9
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today