ヘッダーをスキップ
Oracle Database高可用性概要
11gリリース1(11.1)
E05748-03
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

1 高可用性の概要

この章の内容は次のとおりです。

1.1 高可用性の背景

データベースとインターネットは、組織やコミュニティの隅々にまでデータベース・アプリケーションを行き渡らせ、世界的なコラボレーションと情報共有を可能にしました。こうしたデータベース・アプリケーションの浸透により、データ管理ソリューションにおける高可用性の重要性が浮き彫りになっています。小規模なビジネスもグローバルな企業も、1日24時間データにアクセスできる必要のあるユーザーを世界中に抱えています。このデータ・アクセスが行えなければ、業務は停止し、収益が失われます。ソリューションへの依存度を強めたユーザーは、情報テクノロジ(IT)部門やソリューション・プロバイダに品質保証契約を求めるようになりました。可用性は、時間と利便性のみでなく、ドル、ユーロおよび円で評価されることがますます増えています。

企業は、そのITインフラストラクチャを利用して、競争力をつけ、生産性を高め、より多くの情報に基づいてより迅速に決定を下す力をユーザーに与えてきました。しかし、こうした利点により、インフラストラクチャへの依存度はますます高まりました。重要なアプリケーションが使用できなくなった場合、ビジネスが危機に瀕します。収益や顧客が失われたり、処罰を受けたり、悪評が顧客や自社の株価にいつまでも影響を与えたりする可能性もあります。データの保護方法を決定する要因について検討し、ユーザーへの可用性を最大限に高めることが非常に重要です。

1.2 可用性とは

可用性は、要求に応じてアプリケーション、サービスまたは機能がどの程度使用可能であるかを表しています。可用性は、アプリケーションのエンド・ユーザーの感覚を基準に評価されます。データが使用できない場合やコンピュータ・システムが予想どおりに機能しない場合、エンド・ユーザーは不満を感じます。エンド・ユーザーがソリューション全体の複雑なコンポーネントを理解したり、区別しようと考えたりすることはありません。予想を超える使用状況が原因で発生したパフォーマンス障害は、ソリューションの重要なコンポーネントに障害が発生した場合と同じ被害をもたらします。

信頼性、リカバリ可能性、タイムリなエラー検出、および継続的稼働は、高可用性ソリューションの主な特徴です。

より具体的に言えば、高可用性アーキテクチャは次の特徴を備えている必要があります。

1.3 可用性の重要性

高可用性がどの程度重要であるかはアプリケーションによって異なります。しかし、企業がソリューションを再構築して競争力を強めるにつれて、より一層高いレベルの可用性を提供する必要性は増し続けています。ほとんどの場合、こうした新しいソリューションは重要なビジネス・データへの即時アクセスに依存しています。データが使用できない場合、業務が停止する可能性もあります。停止時間は、生産性の低下、収益の損失、カスタマ・リレーションシップの悪化、悪評および訴訟につながりかねません。

停止時間の直接のコストを試算するのは必ずしも容易ではありません。顧客の怒り、従業員の空き時間、悪評などはすべてコストに結びつきますが、通貨に直接換算することはできません。その一方で、SLAの目標が達成されないことによる収益の損失や法的処罰は容易に定量化可能です。ソリューションに依存してサービスを提供している業界では、停止時間のコストが急速に増大する可能性があります。

停止時間のコストという点で考慮が必要なその他の要因は、1回の計画外停止の最大許容時間、および許容できるインシデントの最大頻度です。イベントの継続時間が30秒未満の場合、イベントが与える影響は非常に小さく、エンド・ユーザーがイベントを感じ取ることはほとんどありません。停止時間が長くなるにつれて、その影響は著しく大きくなり、ビジネスにも悪影響を及ぼすことになります。また、停止の頻度が高くなると、停止が短時間であったとしても、同様に業務が中断する可能性があります。ソリューションを設計する場合、停止時間の実際のコストを把握して、可用性が向上することでどのように利益が得られるのかを理解することが重要です。

オラクル社では、規模に関係なくあらゆる組織に適する幅広い高可用性ソリューションを提供しています。小規模なワークグループもグローバルな企業も同様に、重要なビジネス・アプリケーションの利用範囲を拡大できます。Oracleとインターネットがあれば、いつでもどこからでも、アプリケーションおよびデータへの信頼性の高いアクセスが可能になります。

1.4 停止時間の原因

高可用性ソリューションを設計する上での課題の1つは、停止時間のあらゆる原因を検討し、対処することです。フォルト・トレラントおよびリジリエンスがあるITインフラストラクチャを設計する際、計画外停止時間と計画停止時間の両方の原因を考慮することは重要です。複数のタイムゾーンのユーザーをサポートするグローバル企業では特に、計画停止時間も同じく業務に悪影響を及ぼします。

表1-1は、計画外停止のタイプと説明、および各タイプの例を示しています。

表1-1 計画外停止時間の原因

タイプ 説明

サイト障害

サイトの障害による停止は、イベントがすべて、または大部分のアプリケーションが処理を停止したか、または使用不可のサービス・レベルまで低速になった場合に発生します。サイトの障害は、データ・センターのすべての処理か、またはデータ・センターでサポートされているアプリケーションのサブセットに影響する可能性があります。

  • 広範なサイト全体の電源の障害

  • サイト全体のネットワーク障害

  • データ・センターを操業不可能にする自然災害

  • 業務またはサイトへのテロまたは悪意のある攻撃

コンピュータ障害

コンピュータ障害による停止は、データベースを実行しているシステムが停止またはアクセス不可能になり、使用できない状態になったときに発生します。

  • データベース・システム・ハードウェア障害

  • オペレーティング・システム障害

  • Oracleインスタンス障害

  • ネットワーク・インタフェース障害

ストレージ障害

ストレージ障害による停止は、データベース・コンテンツの一部またはすべてが格納されているストレージが停止またはアクセス不可能になり、使用できない状態になったときに発生します。

  • ディスク・ドライブ障害

  • ディスク・コントローラ障害

  • ストレージ・アレイ障害

人的エラー

人的エラーによる停止は、データベース内のデータを論理的に破損または使用不可の状態にするような意図的でない、または悪意のある操作が行われた場合に発生します。人的エラーによる停止から受けるサービス・レベルの影響は、影響を受けたデータの量および重大性によって大きく異なります。

  • (ファイル・システム・レベルの)ファイルの削除。

  • 削除されたデータベース・オブジェクト

  • 故意でないデータ変更

  • 悪意のあるデータ変更

データ破損

破損ブロックは変更されたブロックです。そのため、Oracle Databaseが検出するものとは異なります。ブロック破損は、物理的ブロック破損と論理的ブロック破損の2つに分類されます。

  • 物理的破損はメディア破損とも呼ばれ、データベースがブロックを完全に認識しません。チェックサムは無効になり、ブロック内はすべてゼロになるか、またはブロックのヘッダーとフッターが一致しません。

  • 論理的破損では、ブロックの内容が論理的に一貫していません。論理的破損の例として、行の一部や索引エントリの破損があげられます。

ブロック破損は、さらにインターブロック破損とイントラブロック破損に分類できます。

  • イントラブロック破損の場合、破損はブロック内部で発生します。これは物理的破損または論理的破損のいずれかです。

  • インターブロック破損の場合、破損はブロック間で発生します。これは論理的破損です。

データ破損による停止は、ハードウェア、ソフトウェアまたはネットワークのコンポーネントで、読取りまたは書込み対象のデータが破損したときに発生します。データ破損による停止から受けるサービス・レベルの影響は、データベースの一部(単一データベース・ブロック・レベル)から大部分(基本的に使用不可にする)まで、大きく異なります。

  • オペレーティング・システムまたはストレージ・デバイス・ドライバ障害

  • 障害のあるホスト・バス・アダプタ

  • ディスク・コントローラ障害

  • ディスクの不正な読取りまたは書込みの原因となるボリューム・マネージャ・エラー

  • ソフトウェアの不具合

書込み欠落

データ破損のもう1つの形式である書込み欠落は、素早く検出および修復することがさらに回避的になります。データ・ブロックの宛先違いの書込みまたは書込み欠落は次の場合に発生します。

  • 書込み欠落は、書込みI/Oが永続記憶域で発生しなくても、I/Oサブシステムがブロック書込みの完了を確認する場合。プライマリ・データベースでの後続ブロック読取りのときに、I/Oサブシステムは、データベースの他のブロックの更新に使用される古いバージョンのデータ・ブロックを戻すため、ブロックが破損します。

  • 宛先違いの書込みは、書込みI/Oは完了したが、他の場所に書き込まれ、後続の読取り操作で古い値が戻される場合。

  • Oracle RACシステムでは、1つのクラスタ・ノードからの読取りI/Oで、別のノードからの書込みI/O完了後に古いデータが戻される場合(書込みの欠落)。たとえば、属性キャッシュを無効にせずに(noacオプションを使用しないなど)NFSファイル・システムがOracle RACでマウントされている場合に発生します。この場合、1つのノードからの書込みI/Oは、キャッシュされるために別のノードに即時表示されません。

  • オペレーティング・システムまたはストレージ・デバイス・ドライバ障害

  • 障害のあるホスト・バス・アダプタ

  • ディスク・コントローラ障害

  • ボリューム・マネージャ・エラー

  • その他のアプリケーション・ソフトウェア

  • クラスタ全体で見えないネットワーク・ファイル・システム(NFS)書込み

停止または低速化

停止または低速化は、リソースやロックの競合が原因でデータベースまたはアプリケーションがトランザクションを処理できない場合に発生します。認知される停止は、システム・リソースの不足が原因で引き起こされます。

  • データベースまたはアプリケーションのデッドロック

  • システム・リソースを消費する暴走プロセス

  • ログオンまたはシステム・フォルト

  • システム・リソースまたはデータベース・リソースの不足によるアプリケーション・ピークの組合せ

  • アーカイブREDOログの宛先またはフラッシュ・リカバリ領域の宛先がいっぱいになった場合


表1-2は、計画停止のタイプと説明、および各タイプの例を示しています。

表1-2 計画停止時間の原因

タイプ 説明

システム変更およびデータベース変更

計画されたシステム変更は、日常的、周期的なメンテナンス業務および新しいデプロイメントが行われるときに発生します。

計画されたシステム変更には、データベース内の組織データ構造外で発生する計画的な業務環境への変更が含まれます。

計画されたシステム変更から受けるサービス・レベルの影響は、計画停止時間の性質および範囲、変更の実装前に行われるテストと検証作業、影響を最小化するためのテクノロジならびに機能により、大きく異なります。

  • SMPサーバーへのプロセッサの追加、またはSMPサーバーからの削除

  • クラスタへのノードの追加、またはクラスタからのノードの削除

  • ディスク・ドライブまたはストレージ・アレイの追加および削除

  • 構成パラメータの変更

  • システム・ハードウェアおよびソフトウェアのアップグレードまたはパッチ適用

  • Oracleソフトウェアのアップグレードまたはパッチ適用

  • アプリケーション・ソフトウェアのアップグレードまたはパッチ適用

  • システム・プラットフォームの移行

  • データベースの再配置

  • 32ビットから64ビットへの移動

  • クラスタ・アーキテクチャへの移行

  • 新しい記憶域への移行

データ変更

計画されたデータ変更は、Oracle Databaseオブジェクトの論理的構造または物理的組織に変更があった場合に発生します。この変更を行うのは主に、パフォーマンスまたは管理性を改善するためです。

  • 表定義の変更

  • 表のパーティション化の追加

  • 索引の作成および再構築

アプリケーション変更

計画されたアプリケーション変更には、データ変更やスキーマおよびプログラムの変更などがあります。この変更を行うのは主に、パフォーマンス、管理性および機能性を改善するためです。

  • アプリケーションのアップグレード


オラクル社では、計画外停止時間と計画停止時間の回避、および障害からのリカバリに役立つ高可用性ソリューションを提供しています。これらの高可用性ソリューションの詳細は、第2章で説明します。

1.5 このマニュアルの内容

可用性要件に最も適したアーキテクチャを選択し、実装するのは、きわめて困難な作業です。このアーキテクチャには次のことが求められます。

組織に最適なアーキテクチャを選択できるように、このマニュアルではいくつかの高可用性アーキテクチャについて説明し、要件に最も適合したアーキテクチャを選択するためのガイドラインを示します。構成と実装の詳細を理解するには、Oracle Databaseサーバー、Oracle RACおよびOracle Data Guardの用語に関する知識が必要です。

最高技術責任者と情報テクノロジ・アーキテクトには、次の章が役立ちます。

データベース管理者とネットワーク管理者にとっては、次の章の情報が有益です。


関連項目:

次のものに記載されているOracle高可用性ベスト・プラクティスの推奨事項を参照してください。
  • 『Oracle Database高可用性ベスト・プラクティス』

  • 次のWebサイトからダウンロード可能なMAAホワイト・ペーパー

    http://www.otn.oracle.com/goto/maa