テスト期間の確保が最も重要
システムの重要な基幹となるデータベースは日々進化しており、アップグレードすることで強化された新機能を活用でき、ITコスト削減やリスク対応の効率化などを図ることができる。このアップグレード・プロジェクトにおいて、もっとも重要な事は、十分なテスト期間を確保することだ。多くのプロジェクトでは、スケジュールの遅れがテスト期間の短縮に繋がり、十分なテストが行えない事態に陥りやすい。しかし、テストにはアプリケーションが正常に動作するかを確認する「機能テスト」や、データベースが必要な性能を満たしているかを確認する「性能テスト」などがあり、十分なテストが行えないと本番稼働後に様々なトラブルに見舞われる恐れがある。
テストの重要性を認識して安易にテスト期間短縮を行わないこと。また、スケジュール遅延を想定したプロジェクト体制、サポート窓口の確保や、最悪の場合のコンティンジェンシー・プラン(緊急時対応計画)を策定しておく必要もあるだろう。
テストをサポートするツールを活用する
確実なテストを実施するには、オラクルが提供しているテスト工程をサポートするツール「Oracle Real Application Testing(RAT)」を活用したい。RATでは、トランザクション処理を記録しOracleが同様の処理を行うか比較テストを行う「Database Replay」や、性能比較を行う「SQL Performance Analyzer」などが提供される。これらを活用すれば、テスト作業の負担を軽減し、時間の大幅な短縮が行える。
新機能をしっかりと把握する
バージョンアップによる機能の仕様変更がトラブルを引き起こすケースもある。たとえば、SQL文の効率的な実行計画を作成するオプティマイザが、Oracle 10g以降は統計情報に基づいたCBO(Cost Based Optimizer)に一本化されている。そのため、従来RBO(Rule Based Optimizer)で動作していたSQL文が極端に遅くなってしまうケースが考えられる。このような問題も、事前の性能テストや適切なタイミングで統計情報を作成するチューニングを行うことで回避できる。本番稼働後に慌てないためにも、事前のテストでしっかりと対処しておきたい。
計画的なパッチ適用
カットオーバー前後に発生する課題のうち、最も多いのはオラクルが提供するパッチの未適用による問題だ。これらは事前のテストやサポートの利用で対応できるものであり、またオラクルが提供するPSR(Patch Set Release)やPSU(Patch Set Update)を適切に適用する必要がある。特にPSRは数多くの不具合修正が含まれているので、PSRのリリース時期を把握した上でテスト開始時には最新のPSRを適用した環境でテストを実施することが望ましい。また、本番稼働後も定期的なメンテナンスのタイミングにPSRを適用し、RATを活用したテストを行うサイクルを確立しておくことで、Oracleを安定して稼働させることができるようになるだろう。
カットオーバー前後に発生した課題の内訳。事前のテストで対応可能な問題が8割を占めていることが分かる。いかに事前テストが重要かを表すデータだ。
適切なアップグレード方法を選択する
エクスポート/インポートは、データベース移行の一般的な方法だが、データ量が多いと移行に時間がかかりすぎるため、システム停止時間中に移行が完了できないことがある。Oracleでは、エクスポート/インポート以外の様々なアップグレード方法が提供されているが、OSのバージョンアップを伴う場合や、使用している機能によってアップグレード方法が制約されることがある。アップグレード方法はデータ容量や停止時間などで大きく左右されるので、できるだけ早い段階で適切な方法を選択するようにしたい。
適切なアップグレード方法を策定することが重要。
※クリックすると拡大画像が見られます
極意の全貌をダウンロードで
ここまで、アップグレード成功のための重要ポイントをダイジェストで紹介した。だが、より深い理解を得るためには、下記リンクより、14ページにわたる完全版の資料をご覧頂く必要がある。ぜひとも熟読のうえ、アップグレードを成功に導いて頂きたい。