データベースのアップグレードを成功させるための極意とは? Oracle GoldenGateを使えばダウンタイムも最短化

企業システムの中枢を担うデータベースの運用において、意外とノウハウが共有されていないことの1つが「アップグレード」だ。これに関する最新の“極意”を伝える場として、日本オラクルは2012年10月17日、「達人に聞く! データベース・アップグレード成功の極意」と題するセミナーを開催した。このセミナーでは、世界中から集められたOracle Databaseのアップグレード事例の中から、アップグレードを安全に行ううえで有用な事前の検討事項や実際の手順などのノウハウが紹介された。(編集部)

データベースを、いつ、どのようにしてアップグレードするか?

 企業システムの中核となるデータベースを、いつ、どのようにしてアップグレードしていくかは、日ごろから多くのITマネジャーが頭を悩ませている課題である。

 そもそも、データベースはシステムの中核であることから、今現在、特に問題なく稼働しているのであれば、そこにはなるべく手を入れたくないと考えがちだ。しかしながら、データベースの性能や技術は日々進歩している。アップグレードによって得られるパフォーマンスや可用性、耐障害性の向上は、企業の競争力や意思決定のスピードを高めていくうえで直接的に寄与するメリットとなる。データベースのアップグレードを検討するにあたっては、サポート終了への対応といった消極的な理由だけでなく、システムの強化による経営への貢献という観点も重視すべきだろう。

 それでは、実際にデータベースをアップグレードする際には、どういった点に留意し、どのような手順を踏むべきなのか? 日本オラクルが10月17日に開催したセミナー「達人に聞く! データベース・アップグレード成功の極意」では、世界中の企業におけるOracle Databaseのアップグレード事例の中から厳選された、アップグレードを安全に行ううえで有用な手法、事前の検討事項、実際の手順、ヒントなどが多数紹介された。それらの中から、ここでは特に「Oracle GoldenGate」を活用したアップグレード事例を中心に、同セミナーのハイライトを紹介する。

「可用性」や「性能」の課題への対応では事前の準備が鍵を握る

日本オラクル、テクノロジー製品事業統括本部シニアエンジニアの阿部拓也氏
 セミナーの前半では、「Oracle Database 11.2アップグレード/移行の事例」と題して、日本オラクル テクノロジー製品事業統括本部シニアエンジニアの阿部拓也氏が、データベース・アップグレードの際に直面する課題と、その課題への対処法を解説した。

 阿部氏によれば、アップグレード時の課題には、大別して「可用性」と「性能」に関するものがあるという。

 「可用性」とは、アップグレード作業に伴うシステムのダウンタイムをどこまで許容し、計画的に発生させるかということだ。そのシステムが果たしているビジネス上の役割に応じて、許容されるダウンタイムは異なる。阿部氏は、「さまざまなビジネス要件に応じて、それに合ったアップグレード方法を選択する必要があり、システムの停止がビジネスに与える影響に応じた綿密な計画策定とテストを行うべきだ」と説く。また、可用性の側面では、移行後に問題が発生した場合の“切り戻し”の方法の準備とテストが必須だと述べた。

 一方、「性能」は、アップグレード後の新システムでアップグレード以前のシステムを超えるパフォーマンスを確保できるかという問題だ。ここで阿部氏は、「アップグレード時の性能問題」と呼ばれているものの90%以上は、実際にはアップグレードそのものではなく、「アップグレード後の性能問題」であることを指摘した。この課題を解消するためには、事前テストのシナリオや方法を万全にしておくことが有効な対策となる。

 こうした点を踏まえた具体的なアップグレードのステップは、下図のようなものになる。

 この中で最も重要なのは、準備段階に当たる「アップグレード前」だ。要件に基づくアップグレード計画の策定にあたっては、作業中に問題が発生した場合の対応方法や、移行後の切り戻しの方法などを明確にしておく必要がある。阿部氏は事前の確認事項として次の8点を挙げたうえで、これらの要件に基づいて適切な移行方法を選択するよう促した。


  • OSを変更する予定はあるか?
  • 新規ハードウェアへの移行を考えているか?
  • 許容できるダウンタイムはどの程度か?
  • 切り戻しの要件は何か?
  • アプリケーションのテストをどのように実施するか?
  • キャラクタ・セットを変更するか?
  • いくつのデータベースをアップグレードするか?
  • 新機能を有効化するか?

 それぞれの要件において選択可能なアップグレード方法は通常、下図のようになる。

 これらの方法の中でも、特に移行に伴うシステムのダウンタイムを最小限に抑えたい場合には、Oracle GoldenGateを利用した方法が有力な選択肢となる。Oracle GoldenGateの概要や、同製品を用いた具体的なアップグレード事例については後ほど紹介する。

 阿部氏は、具体的な移行事例として次の4つのケースを挙げ、それぞれの要件において、どの方式を選択し、どのような手順で移行作業を進めたのかについて詳細な解説を行った。


  • Oracle RAC(Real Application Clusters)のOCFS(Oracle Cluster File System)からOracle ASM(Automatic Storage Management)環境への移行
  • UNIXからLinux(OEL)へのデータベース移行
  • 許容できるダウンタイムはどの程度か?
  • ゼロ・ダウンタイムでの移行
  • データベースのキャラクタ・セット変更を伴う移行

 例えば、「UNIXからLinux(OEL)へのデータベース移行」は、欧州のポイント・システム・プロバイダーで実際に行われたプロジェクトだ。この事例では、HP-UX上で稼働していたOracle Database 9.2.0.7から、Oracle Exadata V1(Oracle Database 11.1.0.7がOracle Enterprise Linux上で稼働)に約8.5TBのデータベースを移す必要があった。つまり、異機種間、クロスエンディアン、クロスバージョンでの移行事例となる。

 許容されるダウンタイムは最大24時間という制約の下、このプロジェクトでは現システムと新システムの間に中間システムを設けることで、要件を満たすことを目指した。移行方法については、高速ではないが信頼性の高い「エクスポート/インポート」を使い、まずは現システムから中間システム(OracleDatabase 11.1.0.7がHP-UX上で稼働)へデータベースを移し、この時点でデータベースをアップグレードする。そして、中間システムから新システムへの移行にあたっては、Oracle Database 10.1以降で利用することのできる、より高速な「Data Pump」ネットワーク・モードによるエクスポートとインポートを使うことでダウンタイムの短縮を実現した。

 結果的に、このプロジェクトではデータベース移行の実作業(ダウンタイム)を20時間以内に収め、新システムへの移行後は、SQLを変更せずに、それまで約30時間かかっていたジョブの実行を2時間以下に短縮できたという。

 「データベース・アップグレードにまつわる可用性の課題については、事前に既知の問題や変更点、ベスト・プラクティスなどの情報を収集し、要件に適したアップグレード方法とテスト・シナリオを準備することで対処できる。ポイントとなるのは、アップグレード前の十分なテストと、問題が発生した際の切り戻し手順の策定だ。

 また、性能問題については、Oracle RACを使い本番のワークロードに基づく負荷試験を行うことで、事前に検証や対策を講じることが可能だ。性能が劣化したSQLについては、自動チューニング機能や旧環境の実行計画を利用することによって性能改善を図ることができる」(阿部氏)

データベース移行時のダウンタイムを最短化するOracle GoldenGate

日本オラクル テクノロジーソリューションコンサルティング統括本部テクニカルアーキテクト本部の近藤聖氏
 セミナー後半部では、「コンサルタントが語るOracle GoldenGateを活用したアップグレード/移行事例」と題して、日本オラクル テクノロジーソリューションコンサルティング統括本部 テクニカルアーキテクト本部の近藤聖氏と浅井純氏が、Oracle GoldenGateを利用したデータベース・アップグレードの概要と利点、実際のプロジェクト事例を紹介した。

 Oracle GoldenGateは、オラクルが2009年に買収によって獲得したデータ連携製品である。ネットワークやシステム全体に与える負荷を抑えつつ、稼働中のデータベースに行われた変更を、同じく稼働中の他のデータベースにリアルタイムに反映できる点を特徴とする。異なるデータベース、OS、バージョン間での双方向同期が可能であることから、可能な限りダウンタイムを短縮しつつ、バージョンアップやシステム統合、災害対策サイト構築などを行う場合のツールとして有用だ。

 近藤氏は、データベース・アップグレード/移行プロジェクトにおいて、Oracle GoldenGateを活用することで得られる効果として、次の3点を挙げる


  • ダウンタイムの圧縮による逸失利益の削減
  • データ移行当日のタスク量とリスクの低減
  • データ移行ツールの開発コストが不要

 要件として「ダウンタイム極小化」が求められる場合、Oracle GoldenGateによるデータ移行を事前作業として行っておき、最後に差分のみを同期することで、ダウンタイムを数秒単位に短縮できる点が最大のメリットになる。

 「ある事例では、Oracle GoldenGate以外にも複数のデータ同期方式が検討されたが、停止時間を極小化するという要件を満たすためにはOracle GoldenGateが最適だと判断された。PoC(Proof of Concept)も実施して、移行に問題もないことが確認されたが、バッチ処理で同期データの適用遅延が大きいことが確認されたため、主キーやインデックスの存在しないテーブルへの処理方法などをチューニングすることを決めた。実際のプロジェクトでは、こうしたテストとリハーサルを十分に実施することが、トラブルなく移行するうえで重要になる」(近藤氏)

 新環境への移行後に問題が発生した場合の切り戻しについて、事前にルールと方法を確認しておくことが重要だという点については、前半部の阿部氏の講演でも強調されていたことだ。

 Oracle GoldenGateを利用する際の大きな利点の1つは、この切り戻し作業が大幅に省力化できるという点である。Oracle GoldenGateを利用しない場合、切り戻しの決定後に、新環境で更新されたデータを含む全データについて、旧環境へのデータ移行の手順を再び繰り返す必要がある。一方、Oracle GoldenGateを利用する場合は、事前に切り戻しの可能性を折り込み、新環境で更新されたデータを旧環境にもリアルタイムに反映しておくことで、スムーズな切り戻しが可能になるのである。

Oracle GoldenGateで段階移行やデータベース統合を行う際の留意点とは?

日本オラクル テクノロジーソリューションコンサルティング統括本部テクニカルアーキテクト本部の浅井純氏
 続いて浅井氏からは、Oracle GoldenGateを用いたデータベースの段階移行とデータベース統合の考え方、および実際の方法についての説明が行われた。

 浅井氏によれば、システムの段階的移行やデータベースの統合を目的としたOracle GoldenGateの活用は、データベースのアップグレードで活用する以上にユーザーにとってのメリットが大きいという。

 段階移行とは、旧環境から新環境への移行に伴う不具合の発生による業務停止のリスクを低減するために、業務をある程度の単位に分けて段階的に新環境へと移行させていく方法だ。この際、Oracle GoldenGateを活用した環境間のデータ同期(片方向および双方向)を利用することで、両環境を並行稼働させることが可能となる。

 浅井氏は、段階移行を実現するにあたっては、事前に「双方向同期の要件整理」、「データ競合対策」、「他システムとの連携」を行っておくことが必要だと強調する。

 このうち要件整理に関しては、「段階移行方針の検討」、「連携対象オブジェクトの整理」、「一方のみで実行すべき処理(マスタ更新処理やトランケート+ロード処理など)の整理」といった要素に分けられる。同様に、データ競合処理については、「競合する可能性のあるテーブルの整理」、「競合する場合の競合回避設計」、「シーケンス/トリガー/参照整合性制約」、他システムとの連携については「インタフェース処理の切り替えタイミングの検討」や「双方向同期期間中の暫定対応」といった各点について、詳細な検討が必要となる。

 また近年、Oracle Exadataなどの超高速なプラットフォームが登場したことで加速している「複数のデータベース環境の統合」を行うプロジェクトでも、双方向レプリケーション機能を備えるOracle GoldenGateの利用価値が高まっている。

 浅井氏は、このデータベース統合を行う際に考慮すべき点を次のように指摘した。

 「Oracle GoldenGateでは、テーブル単位でのデータ伝播が行える。また、データ・レベルでは、『異なるデータベースは異なるスキーマとして統合』するか、それとも『同一スキーマかつ同一テーブルに統合』するかのいずれのパターンにも対応している。このうち同一テーブルへの統合を行う場合は、アプリケーションの観点、データベースの観点、データ伝播中の障害発生時のリカバリ方法、切り戻し時のデータ伝播方法を考慮しておくことが必要となる」(浅井氏)

 なお、Oracle GoldenGate自体のレプリケーション・アーキテクチャはシンプルなものだが、シンプルであるからこそ、さまざまな要件を満たして成功裏にプロジェクトを進めるための“ノウハウ”が重要になる。日本オラクルでは、プロジェクトの難易度に合わせて、事前の計画、設計、実装、テストなどの各フェーズで、コンサルティング支援サービスを通じた技術支援やノウハウの提供も行っている。こうしたサービスを活用すれば、移行プロジェクトにおけるトラブルを未然に防ぎつつ、Oracle GoldGateの効果を最大限に引き出すことができるだろう。

【DBアップグレードで陥りがちなトラブルと、その事前対処法をまとめた冊子「絶対成功! データベース・アップグレードの極意」を配布中!】


 データベースのアップグレード・プロジェクトにおいて、「単なるソフトウェアのバージョンアップだから」と甘く見たがために、事前の準備不足や工数不足でトラブルに見舞われる企業は少なくありません。オラクルデータベースインサイダーでは、そうした典型的なトラブルと、それを未然に防ぐためのポイントをまとめた小冊子をPDF形式で配布しています。データベースの管理や導入にかかわる方は、一度は本小冊子に目を通してください。

ダウンロードはコチラから
※Oracle.comへの登録(無料)が必要となります


Comments:

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

Twitter
Facebook

Search

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