ヘッダーをスキップ

Oracle Database 概要
11gリリース1(11.1)

E05765-03
目次
目次
索引
索引

戻る 次へ

17 高可用性

この章では、データベースの可用性の概念を説明し、Oracle Databaseの高可用性製品と機能を紹介します。


注意

可用性は、データベース・ソフトウェア以外のユーザーの選択内容に影響されます。ハードウェア、アプリケーションとオペレーティング・システム・ソフトウェア、ストレージ・メディア、ネットワークの信頼性および運用プロセスは、すべて重要な要素です。  


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

高可用性の概要

企業は、競争力を高め、生産性を上げ、ユーザーがより豊富な情報に基づいてより迅速に意思決定することを支援するために、情報テクノロジ(IT)・インフラストラクチャを活用しています。ただし、このような利点とは別に、このインフラストラクチャに対する依存度も高まっています。収益や顧客を失う、罰則が課される、新聞での悪評が顧客と会社の評判に長く悪影響を及ぼすというリスクも存在します。今日の日進月歩の経済環境に置かれたすべての企業が成功して健全であり続ける上で、高可用性ITインフラストラクチャの構築は非常に重要です。

コンピューティング・テクノロジには、グリッド・コンピューティングと呼ばれる新しいITアーキテクチャのデプロイの実現化に向けた流れもあります。グリッド・コンピューティング・アーキテクチャを使用すると、すべての企業のコンピューティング・ニーズに応じて多くのサーバーおよび記憶域を柔軟なオンデマンド・コンピューティング・リソースにプールできます。低コストのブレード・サーバー、小型で廉価なマルチプロセッサ・サーバー、モジュール記憶域テクノロジ、およびオープン・ソースのオペレーティング・システム(Linuxなど)のようなテクノロジ革新により、グリッド用の素材が提供されます。これらのテクノロジを利用し、Oracle Databaseに用意されているグリッド・テクノロジを活用することにより、企業は、非常に高品質なサービスをユーザーに提供するとともに、IT費用を大幅に削減できます。Oracle Databaseを使用すると、パフォーマンス、スケーラビリティ、セキュリティ、管理性、機能またはシステムの可用性を犠牲にすることなく、エンタープライズ・グリッド・コンピューティングによるコスト面での利点を享受できます。

この章では、停止時間の原因を調査するとともに、損害の大きい停止時間を回避し、障害から迅速にリカバリするためにOracle Databaseに用意されているテクノロジを確認します。

停止時間の原因

高可用性のITグリッド・インフラストラクチャ設計の課題の1つは、可能性のある停止時間の原因をすべて調査して対処することです。図17-1では、システムの停止時間を計画外停止時間と計画停止時間という2つの主なカテゴリに分けた図を示しています。フォルト・トレラントでリジリエンスのあるITインフラストラクチャを設計する際には、計画外停止時間と計画停止時間の両方の原因を考慮することが重要です。

図17-1    停止時間の原因


画像の説明

計画外停止時間の原因は、コンピュータ障害またはデータ障害です。計画停止時間は主に、本番システムに適用する必要があるデータ変更またはシステム変更が原因です。次の項では、これらの停止時間の各原因を調査し、停止時間を回避するために適用できるOracleテクノロジについて説明します。

コンピュータ障害に対する保護

コンピュータ障害が発生するのは、コンピュータ・システムまたはデータベース・サーバーに予期しないに障害が発生し、サービスが中断される場合です。多くの場合、コンピュータ障害の原因はハードウェアの故障にあります。このようなタイプの障害の最善の解決方法は、クラスタ・テクノロジと高速データベース・クラッシュ・リカバリを利用する方法です。推奨されるソリューションには、Oracle Real Application Clusters(Oracle RAC)を使用したエンタープライズ・グリッド、ファスト・スタート・リカバリ、Oracle Data GuardおよびOracle Streamsがあります。

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

Oracle Real Application ClustersおよびOracle Clusterwareを使用したエンタープライズ・グリッドの概要

企業は、Oracle RACを使用して、複数のシステムにわたって可用性とスケーラビリティの高いデータベース・サーバーを構築できます。Oracle RAC環境では、Oracle Databaseは単一の共有データベースに同時にアクセスしながら、クラスタ内の2つ以上のシステム上で稼働します。そのため、複数のハードウェア・システムにまたがる単一のデータベース・システムが、アプリケーションでは単一の統合されたデータベース・システムとして認識されます。これにより、すべてのアプリケーションに対して次のような可用性とスケーラビリティ上の利点がもたらされます。

次のリストに、Oracle RAC環境の機能を示します。

エンタープライズ・グリッド: Oracle RACを使用すると、エンタープライズ・グリッドが有効になります。エンタープライズ・グリッドは、プロセッサ、サーバー、ネットワークおよび記憶域などの標準的な商品価格のコンポーネントによる大規模な構成から構築されます。Oracle RACは、企業の役に立つ処理システム用としてこれらのコンポーネントを利用できる唯一のテクノロジです。Oracle RACとグリッドは、運用コストを劇的に削減でき、システムの適応性、予防性および敏捷性を高めることができる柔軟性も備えています。ノード、記憶域、CPUおよびメモリーを動的にプロビジョニングすることにより、使用状況の改善によってコストをさらに削減しながら、サービス・レベルを簡単かつ効率的に維持できます。また、Oracle RACはOracle RACデータベースにアクセスするアプリケーションからは完全に透過的であるため、既存のアプリケーションを変更せずにOracle RACにデプロイできます。

スケーラビリティ: Oracle RACでは、容量を増加するためにクラスタにノードを追加できる柔軟性があります。これにより、システムを段階的に拡張してコストを節約でき、小規模な単一ノード・システムを大規模なシステムに置き換えなくてすむようになります。標準的な低コストのコンピュータとモジュール・ディスク・アレイによるグリッド・プールにより、Oracle Databaseを使用したこのソリューションが強化されます。既存のシステムを新しい大規模なノードに置き換えてシステムをアップグレードする方法とは対照的に、1つ以上のノードをクラスタに段階的に追加できるため、容量のアップグレード・プロセスがより簡単で迅速になります。Oracle RACに実装されているキャッシュ・フュージョン・テクノロジとOracle DatabaseでサポートされているInfiniBandにより、アプリケーションを変更しなくても容量をほぼ直線比例的にスケーリングできます。

フォルト・トレランス: Oracle RACクラスタ・アーキテクチャのもう1つの主な利点は、複数のノードによって実現される本質的なフォルト・トレランスです。物理ノードは独立して動作しているため、1つ以上のノードに障害が発生してもクラスタ内の他のノードには影響しません。フェイルオーバーはグリッド上の任意のノードで発生します。極端な場合、1つのノードを除くすべてのノードが停止しても、Oracle RACシステムはデータベース・サービスを提供し続けます。このアーキテクチャでは、メンテナンスのためにノードのグループを透過的にオンラインまたはオフラインにすると同時に、クラスタの残りの部分によってデータベース・サービスを提供し続けることができます。Oracle RACには、接続プールをフェイルオーバーするためにOracle Application Serverとの統合が組み込まれています。この機能により、TCPタイムアウトが発生するまで数十分待機することなく、アプリケーションに障害が即座に通知されます。アプリケーションは適切なリカバリ・アクションを即座に実行できます。そして、グリッドのロード・バランシングによってロードが徐々に再分配されます。

Oracle Clusterware: Oracle RACは、クラスタを管理するためのクラスタウェアの完全セットも備えています。Oracle Clusterwareには、ノード・メンバーシップ、メッセージ・サービスおよびロックなど、クラスタの実行に必要なすべての機能が用意されています。Oracle Clusterwareは、一般的なイベントおよび管理APIを備えた完全統合スタックであるため、Oracle Enterprise Managerから一元的に管理できます。クラスタをサポートするために追加ソフトウェアを購入する必要はありません。このため、サード・パーティのクラスタウェアを統合およびテストするために余計な作業を行わずにすみます。また、Oracle Clusterwareは、Oracle Databaseを使用可能なすべてのプラットフォームにわたって同じインタフェースを使用し、同じように動作します。OracleではOracle RACとともに使用するサード・パーティのクラスタウェアを引き続きサポートしますが、サード・パーティのクラスタウェアを使用する必要やメリットはありません。

Oracle Clusterwareのフレームワークの高可用性機能はアプリケーションに応じて拡張できます。つまり、Oracle DatabaseおよびOracle RACの同じ高可用性メカニズムを使用して、カスタム・アプリケーションの可用性を高めることができます。Oracle Clusterwareを使用すると、アプリケーションを監視、再配置および再起動できるため、アプリケーションのフェイルオーバーをデータベースのフェイルオーバーと統合および調和できます。

サービス: Oracle RACは、サービスと呼ばれるエンティティをサポートしています。このサービスを定義することにより、データベースのワークロードをグループ化し、サービスを提供するために割り当てられる最適なインスタンスに処理をルーティングできます。サービスは、データベース・ユーザーまたはアプリケーションのクラスを表します。ビジネス・ポリシーを定義してこれらのサービスに適用し、ピーク処理時用のノードの割当てや、サービス障害の自動処理などのタスクを実行します。サービスを使用してシステム・リソースを必要な場所と時間に応じて適用することにより、ビジネス上の目標を達成します。

関連項目

『Oracle Database 2日でReal Application Clustersガイド』 

ファスト・スタート・リカバリ

計画外停止時間の最も一般的な原因の1つは、システム障害またはクラッシュです。システム障害は、ハードウェア障害、電源障害、およびオペレーティング・システムまたはサーバーのクラッシュの結果として発生します。これらの障害が原因で発生する中断の程度は、影響を受けるユーザーの数やサーバーのリストアに要する時間によって異なります。高可用性システムは、障害が発生したときに障害から迅速かつ自動的にリカバリできるよう設計されています。重要なシステムのユーザーは、障害から迅速にリカバリし、リカバリまでの時間を予測可能にするという確約をIT組織に求めます。この確約時間よりも停止時間が長いと、システム運用に直接影響を及ぼし、収益や生産性の低下に繋がる可能性があります。

Oracle Databaseでは、システム障害およびクラッシュから非常に短時間でリカバリできます。ただし、短時間でのリカバリと同等に重要なのが予測可能性です。Oracle Databaseに含まれているファスト・スタート・リカバリ・テクノロジは、Oracle Databaseに固有のテクノロジで、データベース・クラッシュ・リカバリ時間を自動的にバインドします。データベースによってチェックポイント処理が自己チューニングされ、必要なRecovery Time Objectiveが守られます。これにより、リカバリ時間が短く、予測可能になり、サービス・レベル目標を達成する能力が高まります。ファスト・スタート・リカバリ機能は、負荷の高いデータベースのリカバリ時間を数十分から数秒に短縮できます。

関連項目

ファスト・スタート・リカバリの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 

Oracle Data Guard

Oracle Data Guardにより、高可用性、データ保護、および企業データの障害時リカバリが保証されます。Data Guardでは、スタンバイ・データベースは、トランザクション一貫性のあるプライマリ(本番)・データベースのコピーとして維持されます。計画停止または計画外停止でプライマリ・データベースが使用できなくなった場合、Data Guardにより任意のスタンバイ・データベースがプライマリ用に切り替えられるため、停止時間が最小限に抑えられます。Oracleクライアントに統合されているData Guardのファスト・スタート・フェイルオーバーと高速アプリケーション通知を使用した自動フェイルオーバーにより、高度なデータ保護とデータ可用性を実現します。

関連項目

『Oracle Data Guard概要および管理』 

Oracle Streams

Oracle Streamsを使用して、柔軟な高可用性環境を構成できます。Oracle Streamsを使用すると、本番データベースのローカルまたはリモート・コピーを作成できます。人為的エラーや大災害が発生した場合、このコピーを使用して処理を再開できます。

関連項目

『Oracle Streams概要および管理』 

データ障害に対する保護

データ障害とは、企業の重要なデータの消失、損害または破損です。データ障害の原因はコンピュータ障害よりも複雑かつ微妙です。この原因には、ストレージ・ハードウェアの障害、人為的エラー、破損またはサイト障害などがあります。

図17-2は、ストレージ障害、人為的エラー、破損およびサイト障害という4つのタイプのデータ障害に焦点を当てています。

図17-2    データ障害が原因の停止時間


画像の説明

データ障害から保護してリカバリするためのソリューションの設計は非常に重要です。システムまたはネットワーク障害によってユーザーがデータにアクセスできなくなる可能性はありますが、適切なバックアップまたはリカバリ・テクノロジなしにデータ障害が発生すると、リカバリ作業に何時間もかかったり、データが失われる場合があります。

Oracle Databaseには、多くのデータ保護機能が用意されています。これらの多くの拡張機能を求める誘引により、データ保護およびリカバリを取り巻く新たな経済的側面が形成されています。過去20年間にわたって、ディスク容量は3桁大きくなった一方、MB当たりのコストは大幅に小さくなりました。この傾向は一向に衰える兆しを見せません。これにより、バックアップ・メディアとしてのディスク記憶域のコストはテープに拮抗するようになりました。また、ディスク記憶域には、オンラインで使用できるという利点と、データにランダムにアクセスできるという利点もあります。

オラクル社ではこのような傾向に後押しされ、リカバリ計画について再考し、これらの経済的力学を利用した段階的なものとすることができました。Oracle Databaseで追加ディスク記憶域を使用することにより、バックアップとリカバリにかかる時間を数時間から数分に短縮できます。実質的に、廉価なディスク記憶域をコストの多大な停止時間と引き換えることが可能です。

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

ストレージ障害に対する保護

単一データベース・インスタンスの記憶域のプロビジョニングは複雑であり、まして企業全体の記憶域のプロビジョニングなどは論外です。以前は、このプロセスに、次のステップが含まれていました。

  1. 必要な領域の量の見積り

  2. 最適なレイアウトの策定(ホット・スポットの発生を防止するためにデータファイルやアーカイブ・ファイルなどを格納する場所)

  3. 論理ボリュームの作成

  4. ファイル・システムの作成

  5. データを保護およびミラー化する方法の定義と設定

  6. データのバックアップおよびリカバリ計画の定義と実装

  7. Oracleソフトウェアのインストール

  8. データベースの作成

この後には、パフォーマンスに悪影響を与えるホット・スポットの特定や、競合を減らすためのデータファイルの移動といった難しい作業が控えています。そして、いつかはディスク・クラッシュが発生したり領域が不足し、更新した記憶域構成のバランス再調整のために、ディスクの追加およびすべてのファイルの移動が必要になります。

ただし、この状況は、Oracle Databaseの自動ストレージ管理(ASM)という機能によって大きく変化しました。ASMでは、垂直に統合されたファイル・システムおよびボリューム・マネージャがOracleカーネルに直接提供されているため、データベース記憶域のプロビジョニング作業が大幅に削減されます。

ASMにより、特化されたストレージ製品の費用、インストールおよびメンテナンスが不要になり、可用性が高まります。また、データベース・アプリケーション用の固有の機能が提供されます。ASMは、使用可能なすべての記憶域にまたがって分散され、パフォーマンスを最適化し、ミラー化も行い、データ破損に対する保護機能となります。ASMでは、SAME(Stripe And Mirror Everything)の概念が拡張され、ディスク・レベル全体ではなくデータベース・ファイル・レベルでのミラー化を可能にする柔軟性が拡張されています。

最も重要なことは、ASMにより、データおよびディスクの管理に伴う複雑な仕組みが排除され、ミラー化の設定、ディスクの追加および削除のプロセスが簡略化されることです。(大規模なデータ・ウェアハウスのように)数百、時には数千のファイルを管理するかわりに、ASMを使用するデータベース管理者は、より規模の大きなオブジェクトであるディスク・グループを作成および管理します。ディスク・グループは、1つの論理単位として管理される一連のディスクを表します。基礎となるデータベース・ファイルのファイルの命名と配置を自動化することにより、DBAの時間を節約でき、標準のベスト・プラクティスに確実に準拠できます。

必要な場合、ASMに固有のミラー化メカニズムをストレージ障害に対する保護として使用できます。ミラー化はデフォルトで有効になっており、3重ミラー化も可能です。ASMミラー化により、障害グループを使用してデータの保護レベルを強化できます。障害グループは、障害を許容できる共通のリソース(ディスク・コントローラまたはディスク・アレイ全体)を共有するディスクのセットです。

ASM障害グループを定義した後、データの冗長コピーは別の障害グループにインテリジェントに格納されるため、ストレージ・サブシステム内の任意のコンポーネントに障害が発生しても、データは透過的に保護されて使用可能であることが保証されます。また、ASMでは、データの保護を強化するためにHardware Assisted Resilient Data機能(後述の「データ破損に対する保護」の項を参照)をサポートしています。

関連項目

  • 『Oracle Database 2日でデータベース管理者』

  • 『Oracle Databaseストレージ管理者ガイド』

 

人為的エラーに対する保護

停止時間の原因に関するほとんどの調査では、停止時間の最大の原因として人為的エラーがあげられています。不注意による重要データの削除や、UPDATE文の不適切なWHERE句により、意図した以上の行が更新されるなどの人為的エラーを可能なかぎり防止し、それに対する予防措置が機能しなかった場合は、元に戻す必要があります。Oracle Databaseには、このようなエラーが発生した場合に、エラーを迅速に診断してリカバリを行うために役立つ管理者用の使用しやすい強力なツールがあります。また、エンド・ユーザーが管理者の介入なしで問題からのリカバリを行えるようにする機能も装備しているため、管理者のサポート作業が軽減され、損失データや損傷データのリカバリ時間が短縮されます。

次の各項では、人為的エラーを防止するOracleの機能について説明します。

人為的エラーに対する保護

エラーを回避する最善の方法は、ビジネスの実行に本当に必要なデータおよびサービスにユーザー・アクセスを制限することです。Oracle Databaseは、ユーザーの認証、および管理者による職務実行に必要な権限のみのユーザーへの付与を可能にすることで、アプリケーション・データへのアクセスを制御する様々なセキュリティ・ツールを提供しています。また、Oracle Databaseのセキュリティ・モデルには、仮想プライベート・データベース(VPD)機能を使用して行レベルでデータ・アクセスを制限できます。この機能を使用すると、アクセスする必要のないデータからユーザーをさらに隔離できます。

Oracle Flashbackテクノロジ

権限を持つユーザーが誤りを作成した場合、そのエラーを修復するツールが必要です。Oracle Databaseは、フラッシュバックと呼ばれる人為的エラーを修復する一連のテクノロジを提供します。フラッシュバックにより、データ・リカバリに大きな変化がもたらされます。以前は、数分の内に破壊されたデータベースのリカバリに、数時間かかる場合がありました。フラッシュバック・テクノロジを使用することにより、エラーの発生にかかった時間と同じ時間内で修復が可能になります。フラッシュバック・テクノロジは非常に使用しやすく、1つの短いコマンドを使用してデータベース全体をリカバリできるため、複雑な手順は必要ありません。フラッシュバックはOracle Databaseに固有のテクノロジで、次の機能があります。

表17-1は、フラッシュバック・テクノロジによる人為的エラーの修復方法を示しています。

表17-1    Oracle Flashbackテクノロジによる人為的エラーに対する保護 
機能  説明 

フラッシュバック問合せ 

Oracle Flashback Queryを使用すると、過去のある時点のデータを問い合せることができます。フラッシュバック問合せを使用して、誤って削除または変更された可能性がある損失データを表示し、再構築できます。次に例を示します。

SELECT * FROM employee AS OF TIMESTAMP TO_TIMESTAMP('19-APR-05 02:00:00 PM') WHERE … 

この文の場合、従業員表から特定の日付の2:00 p.m.時点における行が表示されます。開発者は、この機能を使用して、エラーを遅延なく元に戻し修正する作業を管理者ではなくエンド・ユーザー自身にさせるセルフサービス・エラー修正機能をアプリケーションに組み込むことができます。フラッシュバック問合せは、管理が容易です。これは、過去のある時点のデータを再構築するために必要な情報が、データベースによって自動的に保持されるためです。 

フラッシュバック・バージョン問合せ 

フラッシュバック・バージョン問合せにより、データベースの行レベルで行われた変更を参照できます。これはSQLの拡張機能で、指定した時間にわたり、ある行の異なるすべてのバージョンを取得できます。次に例を示します。

SELECT * FROM employee VERSIONS BETWEEN TIMESTAMP TO_TIMESTAMP('19-APR-05
02:00:00 PM') AND TIMESTAMP TO_TIMESTAMP('19-APR-05 03:00:00 PM') WHERE …

この文の場合、4月19日の2:00〜3:00 p.m.の間に異なるトランザクションによって変更された各行とともに、行の各バージョンが表示されます。この機能を使用すると、データがいつどのように変更されたかを把握でき、それをユーザー、アプリケーションまたはトランザクションまでトレースバックできます。このため、データベース内の論理的な破損の原因を追跡してそれを解決できます。また、アプリケーション開発者は、フラッシュバック・バージョン問合せを使用してコードをデバッグすることもできます。 

フラッシュバック・トランザクション 

Oracle Flashback Transactionにより、トランザクションおよびその依存トランザクションを元に戻します。DBMS_FLASHBACK.TRANSACTION_BACKOUT()プロシージャは、データベースがオンラインのまま、トランザクションとその依存トランザクションをロールバックします。このリカバリ操作ではUNDOデータを使用して、影響されたデータを元の状態に戻す補正トランザクションが作成および実行されます。DBA_FLASHBACK_TRANSACTION_STATEビューを問い合せることにより、トランザクションが依存性ルールを使用して元に戻されたか、次のいずれかの方法によって強制実行されたかについて、トランザクションの現在の状態を参照できます。

  • 非競合行を元に戻す

  • UNDO SQLを適用する

Oracle Flashback Transactionでは、データベースがオンラインのまま1つのコマンドを使用して、特定のトランザクションまたは一連のトランザクションとその依存トランザクションを簡単かつ迅速に元に戻すことができるため、論理リカバリ時の可用性が向上します。 

フラッシュバック・トランザクション問合せ 

フラッシュバック・トランザクション問合せにより、データベースのトランザクション・レベルで行われた変更を参照できます。これは、SQLの拡張機能で、トランザクションによって行われたすべての変更を参照できます。次に例を示します。

SELECT * FROM FLASHBACK_TRANSACTION_QUERY WHERE XID = '000200030000002D';

この問合せの場合、このトランザクションによって行われたすべての変更結果が表示されます。また、これを補正するSQL文も戻されるため、この文を使用して、このトランザクションによって行われたすべての行への変更を元に戻すことができます。データベース管理者やアプリケーション開発者は、このような精密なツールを使用することにより、データベースまたはアプリケーション内の論理的な問題を正確に診断して解決できます。 

フラッシュバック・データベース 

Oracleデータベースを過去のある時点の状態に戻す場合、従来の方法では、ポイント・イン・タイム・リカバリを使用します。ただし、ポイント・イン・タイム・リカバリでは、データベース全体をバックアップからリストアし、エラーがデータベースに伝播する直前の状態を修復するため、数時間、あるいは数日もかかる場合があります。データベースのサイズが増加し続けると、データベース全体の単なるリストアに、数時間あるいは数日かかります。

フラッシュバック・データベースは、ポイント・イン・タイム・リカバリを実行するための計画です。これにより、Oracleデータベースを以前の時点まで即座に巻き戻し、論理データの破損やユーザー・エラーによる問題を解決できます。この機能では、フラッシュバック・ログを使用して、変更されたブロックの旧バージョンを取得します。これは、連続的バックアップやストレージ・スナップショットと似ています。リカバリを実行する必要がある場合、フラッシュバック・ログが迅速に再実行され、エラーが発生した時点までデータベースがリストアされ、変更されたブロックのみがリストアされます。フラッシュバック・データベースは高速で、リカバリ時間は時間単位から分単位まで短縮されます。たとえば、次のコマンドを発行し、データベースを2:05 p.m.までリカバリします。

FLASHBACK DATABASE TO TIMESTAMP TO_TIMESTAMP('19-APR-05 02:05:00 PM'); 
 

フラッシュバック表 

フラッシュバック表により、表または一連の表を過去の指定の時点に戻します。多くの場合、フラッシュバック表を使用すると、より複雑なポイント・イン・タイム・リカバリ操作を実行しなくてすむようになります。次に例を示します。

FLASHBACK TABLE orders, order_items TIMESTAMP TO_TIMESTAMP('07-APR-2005 02:33:00 PM');

このコマンドの場合、現在時刻と過去の指定したタイムスタンプの間に行われたordersおよびorder_items表の更新が巻き戻されます。フラッシュバック表により、この操作がオンラインで適切に実行され、各表の間の参照整合性制約が保持されます。フラッシュバック表は、表または一連の関連表に対して巻戻しまたは元に戻すボタンのように機能します。 

フラッシュバック・ドロップ 

データベース・オブジェクトを誤ってドロップ、つまり削除してしまう誤りは、ユーザーが犯しやすい誤りです。これは、実際には本番データベースに接続されているとき、テスト・データベースに接続されていると勘違いした場合に発生します。この誤りにはすぐに気付くことになりますが、そのときにはすでに遅く、削除した表とその索引、制約およびトリガーを簡単にリカバリすることは不可能です。削除した後、オブジェクトは永遠に失われてしまいます。索引は再構築できますが、重要な表や他のオブジェクト(パーティションまたはクラスタなど)に対してはポイント・イン・タイム・リカバリを実行する必要があり、この作業には非常に時間がかかり、最新のトランザクションが失われる可能性があります。

フラッシュバック・ドロップは、Oracle Databaseでオブジェクトを削除するときの安全策となります。ユーザーが表を削除すると、Oracle Databaseによってこの表はごみ箱に入れられます。ごみ箱は、削除されたすべてのオブジェクトが入れられた仮想コンテナです。オブジェクトを完全に削除することを選択するか、この表が含まれる表領域の容量が上限に達するまで、オブジェクトはごみ箱内に残ります。削除した表とその依存オブジェクトはごみ箱から元に戻すことができます。たとえば、次のコマンドを使用すると、表employeeとその依存オブジェクトの削除は元に戻されます。

FLASHBACK TABLE employee TO BEFORE DROP; 
 

フラッシュバック・リストア・ポイント 

Oracleデータベースのポイント・イン・タイム・リカバリ操作が必要な場合、データをロールバックする時間またはシステム変更番号(SCNまたはトランザクション時間)を決定する必要があります。Oracle Databaseでは、リストア・ポイントが使用されます。これは、フラッシュバック・データベース、フラッシュバック表およびRecovery Manager(RMAN)とともに使用するときにSCNまたは実時間のかわりに使用できるユーザー定義のラベルです。リストア・ポイントには、データベースが良好な状態であった既知の時間を記録する機能があるため、データベースに対して実行された不適切なアクションを迅速かつ簡単に巻き戻すことができます。また、以前のデータベースのリカバリを介してフラッシュバックし、リセット・ログを開く機能も用意されています。保証付きリストア・ポイントを使用すると、データベースを巻き戻すために必要なUNDOを保持することにより、主なデータベースの変更(データベースのバッチ・ジョブ、アップグレードまたはパッチなど)を簡単に元に戻すことができます。リストア・ポイントを使用すると、既知の時間まで簡単に巻き戻すことが可能になります。

Oracle Data Guard環境では、この機能を使用して、読取り/書込みモードでオープンされたフィジカル・スタンバイ・データベースで変更を後でフラッシュバックし、このデータベースを本番データベースと同期が維持されているフィジカル・スタンバイ・データベースに戻すこともできます。スイッチオーバー操作の後に論理エラーが見つかった場合、プライマリおよびスタンバイ・データベースをスイッチオーバー操作の前の時点またはSCNまでフラッシュバックできます。また、スタンバイ・データベースを本番データベースと迅速に同期させるには、2つのデータベースが同一でなくなった後に生成されたすべてのREDOデータを適用するかわりに、本番データベースの増分バックアップをスタンバイ・データベースに適用します。これにより、2つのデータベースを再同期化させるために要する時間を大幅に短縮できます。 

フラッシュバック・ログを使用したブロック・リカバリ 

ブロック・リカバリを使用して必要に応じて、フラッシュバック・ログから最新のデータ・ブロックのコピーを取得し、リカバリ時間を短縮できます。また、インスタンス・リカバリ中にブロックが破損しても、インスタンス・リカバリは失敗しません。ブロックは自動的に破損としてマークが設定され、V$DATABASE_BLOCK_CORRUPTION表のRMAN破損リストに追加されます。これにより、後でRMANのRECOVER BLOCKコマンドを発行し、関連するブロックを修正できます。 

フラッシュバック・データ・アーカイブ 

フラッシュバック・データ・アーカイブには、表の存続期間中におけるトランザクションのすべての変更を追跡して格納する機能があります。このインテリジェント機能をアプリケーションに組み込む必要はありません。フラッシュバック・データ・アーカイブは、レコード・ステージング・ポリシーおよび監査レポートに準拠させるときに役に立ちます。 

関連項目

 

SQLベースのLogMinerログ・アナライザ

Oracleログ・ファイルには、Oracleデータベースのアクティビティおよび履歴に関する有用な情報が豊富に含まれています。ログ・ファイルには、データベース・リカバリに必要なすべてのデータが含まれています。これらのファイルには、データベース内のデータおよびメタデータに加えられたすべての変更も記録されています。LogMinerは、SQLを使用したREDOログ・ファイルの読取り、分析および解析が可能な完全なリレーショナル・ツールです。LogMinerによるログ・ファイルの分析を使用すると、データへの変更の追跡または監査、チューニングおよび容量計画に関する補足情報の提供、複雑なアプリケーションのデバッグに関する重要な情報の取得、または削除したデータのリカバリが可能になります。

関連項目

「LogMinerの概要」 

データ破損に対する保護

破損は、I/Oスタック内の不良コンポーネントによって引き起こされます。たとえば、データベースにより、更新トランザクションの結果としてI/Oが発行されます。データベースI/Oは次に対して渡されます。

  1. オペレーティング・システムのI/Oコード

  2. ファイル・システム

  3. ボリューム・マネージャ

  4. デバイス・ドライバ

  5. ホスト・バス・アダプタ

  6. ストレージ・コントローラ

  7. I/Oが最終的に書き込まれるディスク・ドライブ

I/Oシーケンス内のいずれかのコンポーネントに不具合またはハードウェア障害があると、データ内の一部のビットが反転され、破損データがデータベースに書き込まれる場合があります。データベース制御情報やユーザー・データが破損することもあり、その場合は、データベースの機能性や可用性が深刻な打撃を受けるおそれがあります。同様に、ディスク障害もデータベース・ファイルに損害を与え、データベースのリカバリにバックアップが必要となる場合があります。

データ破損に対する保護の内容は、次のとおりです。

Oracle Hardware Assisted Resilient Data(HARD)

Oracle Hardware Assisted Resilient Data(HARD)により、データ破損を未然に防ぎます。データ破損はほとんどありませんが、発生した場合にはデータベース、つまりビジネスに壊滅的な影響があります。ストレージ・デバイス内にOracleのデータ検証アルゴリズムを実装することにより、破損データが永続ストレージ上のデータベース・ファイルに書き込まれるのを防ぐことができます。上位のソフトウェアから下位のハードウェアまでの、このようなエンドツーエンドの検証は、Oracleとストレージ・パートナが提供する独自の機能です。

Oracleが保護情報を検証してデータベース・ブロックに追加し、この保護情報がストレージ・デバイスによって検証されます。HARDにより、データベースとストレージ間のI/Oパスへの破損データの侵入が検出され、データベース業界で今までは防止が不可能だった大規模障害が除去されます。RAIDはデータを物理的に確実に保護することで、ストレージ業界から幅広く支持されていますが、HARDは物理ビットの保護からビジネス・データの保護へと進化することで、データ保護を1つ上のレベルに高めています。

関連項目

HARDの詳細は、http://www.oracle.com/technology/deploy/availability/htdocs/HARD.htmlを参照してください。 

書込み欠落

書込み欠落はデータ破損のもう1つの形態ですが、こちらの方が迅速な検出および修復がより困難です。データ・ブロックの書込み欠落が発生するのは、次のような場合です。

データ・ブロック破損の防止および検出

Oracle Database 11gより前は、RMANによって検出されたブロック破損はV$DATABASE_BLOCK_CORRUPTIONに記録されていました。Oracle Database 11gでは、RMANを含む複数のデータベース・コンポーネントおよびユーティリティがブロック破損を検出し、そのビューに記録できるようになりました。Oracle Databaseでは、ブロック破損が検出または修復されるとこのビューが自動的に更新されます(たとえば、ブロック・メディア・リカバリまたはデータファイル・リカバリなどを使用)。これには、ブロック破損の検出に要する時間が短縮されるという利点があります。

データ・リカバリ・アドバイザ

データ・リカバリ・アドバイザを使用すると、永続的な(ディスク上の)データ障害が自動的に診断され、適切な修復オプションが提示されて、ユーザーのリクエストで修復操作が実行されます。この機能は、次のとおりです。

データ・リカバリ・アドバイザの初期リリースは、Oracle RACをサポートしていません。また、データ・リカバリ・アドバイザを使用してData Guard構成でプライマリ・データベースは管理できますが、データ・リカバリ・アドバイザを使用してフィジカル・スタンバイ・データベースはトラブルシューティングできません。Oracle Enterprise Manager 11g Grid Controlを使用している場合、データ・リカバリ・アドバイザでは、修復計画の推奨時にスタンバイ・データベースの存在のみが考慮されます。

フラッシュ・バックアップおよびリカバリ

企業データのバックアップのかわりとなるものは存在しません。まれに複数の障害により、ストレージ・サブシステム内でミラー化されているデータであっても使用不可能になることがあります。Oracleでは、すべてのデータを適切にバックアップし、以前のバックアップからデータをリストアし、障害発生直前までにそのデータに行われた変更をリカバリする、オンライン・ツールを提供しています。

大規模なデータベース・システムをバックアップすることは、簡単ではありません。大規模なデータベースは、多数の異なるディスクに分散された数百単位のファイルで構成されている場合があります。重要なファイルのバックアップを怠ると、データベース・バックアップ全体が使用不可能になることがあります。通常、破損したこのようなファイルは、それが必要になって初めて検出されます。Recovery Manager(RMAN)は、Oracle Databaseのバックアップ、リストアおよびリカバリ・プロセスの管理ツールです。RMANにより、バックアップ・ポリシーが作成および維持され、すべてのバックアップおよびリカバリ・アクティビティが分類整理されます。バックアップおよびリストア時にすべてのデータ・ブロックについて破損を分析することにより、破損データがバックアップに伝播するのを防止できます。最も重要なのは、Recovery Managerを使用すると、必要なすべてのデータファイルがバックアップされ、データベースがリカバリ可能であることが保証されることです。

Recovery Managerは、ユーザー指定の期間内でデータベースをリストアするために必要なファイルを自動的に追跡します。Recovery Managerは、データベースの残りの部分がオンラインのまま、中断されていた操作を自動的に再開し、破損したログ・ファイルを処理し、個々のデータ・ブロックをリストアできます。

RMANは、データベースのバックアップおよびリカバリ機能を大幅に強化します。RMANは、フラッシュ・リカバリ領域へのすべてのデータのバックアップおよびリカバリを自動管理できます。フラッシュ・リカバリ領域は、Oracleデータベース内のすべてのリカバリ関連ファイルおよびアクティビティ用の統合されたディスク・ベースの格納位置です。テープのかわりにディスクにバックアップすることで、より高速のバックアップが可能になります。しかしさらに重要なことは、データベースのメディア・リカバリが必要な場合に、データベースのリカバリ時間を大幅に短縮する、データファイルのバックアップをすぐに使用できることです。

フラッシュ・リカバリ領域のファイルは、Recovery Managerにより管理されます。RMANは、フラッシュ・リカバリ領域のすべてのバックアップを作成し、この領域を管理します。アーカイバはREDOデータをフラッシュ・リカバリ領域に書き込み、RMANでは、不要になった古いバックアップおよびアーカイブREDOログが自動的に削除(またはテープに移動)されます。RETENTION POLICYを7日間のリカバリ期間に設定すると、RMANにより、データベースを7日前までリカバリするために必要なすべてのバックアップが保持されます。7日より前の時点までリカバリする必要がある場合は、テープからデータがリストアされます。Oracle Enterprise Managerには、ベスト・プラクティスの実装を含む、フラッシュ・バックアップおよびリカバリを実行するための完全インタフェースが用意されています。

増分バックアップは、Oracle8データベースで最初にリリースされてからRMANの一部となっています。増分バックアップにより、前回のバックアップ以降に変更されたブロックのみが記録されます。Oracle Databaseには、ブロック・チェンジ・トラッキングが実装されているため、増分バックアップをより速く取得できます。Oracle Databaseは、すべてのデータベース変更の物理位置を追跡します。RMANは、この変更追跡情報を自動的に使用して、増分バックアップ時に読み取る必要があるブロックを判断し、そのブロックに直接アクセスしてバックアップします。この増分バックアップを、前に作成したイメージ・バックアップとマージすることにより、リカバリ時間を最小限に抑えることができます。次第に増加する更新されたバックアップに基づくバックアップ方法によって、メディア・リカバリに必要な時間を最小限にできます。バックアップ方法の変更追跡部分を使用して増分バックアップを行うことにより、日次バックアップに必要な時間が短縮され、ネットワークを介してバックアップを実行する際のネットワーク帯域幅を節約でき、ログに記録されていない変更がデータベースをリカバリでき、バックアップ・ファイルの記憶域が削減され、データベースのリカバリ時間が短縮されます。

Oracle Databaseのバックアップおよびリカバリには、他にも多くの革新的機能が用意されています。

サイト障害に対する保護

データ保護機能により、サイトの処理を不可能にする壊滅的な事象からサイトを長期的に保護します。例としては、ファイルの破損、自然災害、停電、通信障害、さらにはテロなどがあります。Oracle Databaseは、本番データベースのローカルまたはリモート・コピーを作成し保持する、様々なデータ保護ソリューションを提供します。破損または災害が発生した場合、データのユーザーはリモート・データベースにアクセスすることで自分のタスクを続行できます。

データ保護の最もシンプルな形式は、データベース・バックアップのオフサイト・ストレージです。データ・センターが適正な時間内にサービスを再開できない場合、バックアップを他のサイトのシステムでリストアでき、ユーザーはこのバックアップ・システムに接続できます。ただし、他のシステムでバックアップをリストアするには時間がかかり、しかもバックアップは完全には最新でない可能性があります。より迅速なリカバリを可能にし、災害時でさえも継続的なデータベース・サービスを可能にする機能として、OracleはData Guardを提供しています。これについては、次の各項で説明します。

Oracle Data Guardおよびスタンバイ・データベース

Data Guardは、あらゆるOracle Database障害時リカバリ計画の基盤となるものです。Data Guardには、本番データベースのスタンバイ・コピーを設定および保持できる機能が用意されています。このスタンバイ・データベースは、本番データベースから見て地球の反対側に配置することも、同じデータ・センターに配置することも可能です。Data Guardには、複雑なタスクを自動化する拡張機能があり、優れた監視、アラートおよび制御メカニズムが用意されています。このため、データベースはデータ・センターの災害に耐えることができます。また、フェイルオーバーが必要な場合にはサーバーをスタンバイ・データベースに動的に追加できるため、Data Guardはグリッド・クラスタ間で透過的に動作します。

Oracle Data Guardは、Redo Applyテクノロジを使用するフィジカル・スタンバイ・データベース、スナップショット・スタンバイ・データベース、およびSQL Applyテクノロジを使用するロジカル・スタンバイ・データベースをサポートしています。

データ損失ゼロのREDO転送

フィジカルとロジカルの両方のスタンバイ・データベースで、同じ転送サービスが使用されます。Data Guardでは、同期転送方式と非同期転送方式を選択できます。Data Guardの同期転送サービスにより、データ損失ゼロの保護が実現されるため、プライマリ・データベースに障害が発生した場合、以前にコミットしたすべてのトランザクションの保持に必要なREDOデータがスタンバイ・サイトで使用可能になります。

また、REDOデータをスタンバイ・サイトに非同期方式で転送することもできます。これにより、潜在的なデータ損失を最小限に抑えると同時に、遠距離転送であっても最適なパフォーマンスを実現し、ネットワーク障害からデータを保護できます。

リアルタイム適用およびフラッシュバック・データベース

リアルタイム適用により、Data Guardの適用サービスでは、現行ログ・ファイルがスタンバイ・データベースにアーカイブされるのを待機せずに、REDOデータをプライマリ・データベースから受信すると同時にスタンバイ・データベースに適用できます。これにより、スタンバイ・データベースをプライマリ・データベースと密接に同期できるため、最新かつリアルタイムのレポートを使用できるようになります。また、スイッチオーバーおよびフェイルオーバー時間を短縮できるため、ビジネスの計画停止時間と計画外停止時間の短縮につながります。さらに、フラッシュバック・データベースをプライマリとスタンバイの両方のデータベースで使用することを選択して、データベースを過去のある時点の状態に短時間で戻し、ユーザー・エラーを撤回できます。あるいは、スタンバイ・データベースにフェイルオーバーすると決定したが、これらのユーザー・エラーはすでにスタンバイ・データベースに適用されている場合(リアルタイム適用が有効であったため)、スタンバイ・データベースを安全な過去のある時点の状態にフラッシュバックできます。これら2つの機能を使用すると、スタンバイ・データベースを最新の状態に維持するか、または本番データベースでの人為的エラーがスタンバイ・データベースに伝播することを防ぐためにRedo Applyを遅延させるかを選択するという、ときには必要な妥協が解消されます。

Data Guard Broker

プライマリ・データベースとスタンバイ・データベース、およびこれらによる各種対話は、SQL*Plusを使用して管理できます。Data Guardには、管理を容易にするために、Data Guard Broker分散管理フレームワークも用意されています。これにより、Data Guard構成の作成、保守および監視が自動化されて一元化されます。Oracle Enterprise ManagerまたはBroker独自の特別なコマンドライン・インタフェース(DGMGRL)を使用すると、Brokerの管理機能を利用できます。使用しやすいOracle Enterprise Manager GUIからマウスをシングルクリックするのみで、プライマリ・データベースからいずれかのタイプのスタンバイ・データベースに対するフェイルオーバー処理を開始できます。BrokerとOracle Enterprise Managerを使用すると、スタンバイ・データベースを簡単に管理かつ操作できます。フェイルオーバーやスイッチオーバーなどのアクティビティを容易にすることにより、エラーが発生する可能性が大幅に小さくなります。

ファスト・スタート・フェイルオーバー

ファスト・スタート・フェイルオーバーを使用すると、本番データベースからスタンバイ・データベースへのデータベース処理のフェイルオーバーを人間の介在なしに完全に自動化できるため、フォルト・トレラントなスタンバイ・データベース環境の作成が可能になります。ファスト・スタート・フェイルオーバーにより、管理者は、フェイルオーバー操作を起動および実装するために複雑な手動ステップを実行する必要がなくなるため、プライマリ・データベースが消失する事態が発生しても、同期化された指定のスタンバイ・データベースに自動的に迅速かつ確実にフェイルオーバーできます。これにより、停止時間は大幅に短縮されます。ファスト・スタート・フェイルオーバーは、Oracle Enterprise ManagerまたはData Guard Brokerを使用して設定します。Data Guard環境を監視するオブザーバにより、必要に応じてフェイルオーバーが自動的にトリガーされて完了します。ファスト・スタート・フェイルオーバーが発生した後、構成への再接続時に、古いプライマリ・データベースはBrokerによって新しいスタンバイ・データベースとして自動的に復元されます。これにより、Data Guard構成では構成における障害時の保護を簡単かつ迅速にリストアできるため、Data Guard構成の堅牢性が向上します。これらの機能により、Data Guardは、透過的なビジネスの継続性の維持に役立つのみでなく、障害時リカバリ構成の管理コストも削減します。

関連項目

  • 『Oracle Data Guard概要および管理』

  • 『Oracle Data Guard Broker』

 

計画メンテナンス中の停止時間の回避

特に複数のタイムゾーンのユーザーをサポートしているグローバル・エンタープライズでは、計画停止時間は運用に大きな損害を与える可能性があります。このような場合、計画的な中断を最小化するようシステムを設計することが重要です。計画停止時間には、ルーチン操作、定期的なメンテナンスおよび新規デプロイメントが含まれます。

ルーチン操作とは頻繁なメンテナンス作業を指し、これには、バックアップ、パフォーマンス管理、ユーザーやセキュリティの管理およびバッチ操作があります。また、パッチのインストールやシステムの再構成などの定期メンテナンスは、データベース、アプリケーション、オペレーティング・システム、ミドルウェアまたはネットワークを更新するために必要となる場合があります。新規デプロイメントは、ハードウェア、オペレーティング・システム、データベース、アプリケーション、ミドルウェアまたはネットワークへの大規模なアップグレード時に必要となる場合があります。アップグレードを実行するタイミングのみでなく、その変更によるアプリケーション全体への影響も考慮する必要があります。

インターネットは、データのグローバル共有を容易にしましたが、データ可用性に対する新しい問題と要件も提起しました。世界各国のユーザーが1日24時間データにアクセスするため、メンテナンスのための時間帯はなくなったも同然です。計画停止時間による運用の中断は、計画外停止時間による中断と同様に深刻な問題となっています。ユーザーが影響を受けない時間枠は、存在しません。データベースに格納されるデータ量が膨大になると、メンテナンス操作に非常に時間がかかります。このような作業は、データのユーザーに影響を与えずに行うことが重要です。

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

データ変更の停止時間の回避

図17-3は、オンライン・スキーマおよびデータ再編成、パーティション表とパーティション索引、およびリソースの動的プロビジョニングという、データ変更が原因である3つのタイプの停止時間に焦点を当てています。

図17-3    データ変更が原因の停止時間


画像の説明

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

オンライン・スキーマおよびデータ再編成

Oracle Databaseでは、データベース操作やユーザーに対するデータ可用性を阻害せずに、ほとんどのメンテナンス操作を実行できます。データベースがオンライン状態で、エンド・ユーザーがデータの読取りまたは更新を行っている場合でも、索引の追加、再作成または断片化解消が可能です。同様に、オンライン状態での表の再配置や断片化解消も可能です。表の再定義、表タイプの変更、列の追加、削除または名前変更、および記憶域パラメータの変更は、基盤となるデータの表示または更新を行っているエンド・ユーザーの操作を中断せずに実行できます。Oracle Databaseには、次の機能があります。

パーティション表とパーティション索引

データベースが大きくなると、その管理作業が極端に膨大になることがあります。管理者は、データベース表および索引をパーティション化する機能を使用することにより、大きい表を、小さく管理の容易な表に分割できます。パーティション化により、大半の操作やスキーマ変更をオンライン状態に維持しながら、メンテナンス作業を一度に1パーティションずつ行うことができます。このため、メンテナンス中にデータが受ける影響は最小限になります。また、パーティションにより、パラレル実行が可能になるため、ほとんどの操作の実行時間が大幅に短縮されます。

パーティションの他の利点としては、障害の伝播防止があります。メディア障害や破損などの障害は、障害が発生したディスク上のパーティション以外には伝播されません。影響を受け、リカバリを必要とするのは、そのパーティションのみです。これにより、リカバリ時間が短縮されるのみでなく、障害が発生したパーティションのリカバリ中に、他の影響を受けていないパーティションをオンライン状態に維持できます。

一般に、大きい表の中のすべてのデータが、同じアクセス特性を持っているわけではありません。通常、保留中のオーダーはクローズされたオーダーよりも頻繁にアクセスされ、または前四半期の販売実績は3年前の四半期の販売実績よりも頻繁に分析されます。パーティション化により、データのインテリジェントなストレージ管理が可能になります。頻繁にアクセスされるデータは、最速のディスク上に格納し、アクセスの集中するデータは、多数のドライブにストライプ化できます。

システム変更の停止時間の回避

計画的なシステム変更が行われるのは、ルーチン操作、定期的なメンテナンス操作および新規デプロイメントを実行する場合です。計画的なシステム変更には、データベース内の組織データ構造の外部で行われる運用環境の計画的変更が含まれます。

計画的なシステム変更によるサービス・レベルでの影響は、次の条件に応じて大きく異なります。

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

ローリング・パッチ更新

Oracle Databaseは、ローリング方式によるOracle RACシステムのノードへのパッチの適用をサポートします。ローリング・アップグレードを実行するには、次の高度な手順を実行する必要があります。

  1. パッチ・ソフトウェアをプライマリ・アップグレード・ノードにコピーします。

  2. アップグレード・ノードでOracle RACインスタンスを停止します。

  3. アップグレード・ノードですべてのOracleプロセスを停止します。

  4. OUIを起動し、アップグレード・ノードでアップグレード・プロセスを完了します。

Oracle RACシステムの実行中は、データベース・クライアントにかわってすべてのノードがトランザクションをアクティブに処理します。パッチ適用の手順1では、パッチが適用される最初のインスタンスを静止させます。手順2では、Oracleパッチ・ツール(Opatch)を使用して、静止中のインスタンスにパッチを適用します(たとえば、インスタンス1のOracleホームが更新されます)。手順3では、パッチが適用されたインスタンスが再度アクティブ化され、クラスタに再結合します。これで、Oracle RACシステムでは、1つのインスタンスがクラスタ内の他のノードよりも高いメンテナンス・レベルで実行されるようになりました。

Oracle RACシステムは、このパッチが元の問題を解決し、他の問題を引き起こしていないことを確認するために、任意の期間にわたってこの複合モードで実行できます。次に、この手順がクラスタ内の残りのノードに対して繰り返されます。クラスタ内のすべてのノードにパッチが適用されると、ローリング・パッチ更新が完了し、すべてのノードで同じバージョンのOracle Databaseソフトウェアが実行されるようになります。さらに、Opatchにはパッチの適用をロールバックする機能もあります。この機能では、更新されたインスタンスで異常な動作が見られた場合、クラスタ全体を停止することなく、問題のパッチをアンインストール、すなわちロールバックできます。ロールバック手順はパッチ適用手順と同じですが、この場合、Opatchユーティリティにより、以前に適用したパッチが削除されます。

ローリング・リリース・アップグレード

Oracle Databaseは、ローリング方式によるデータベース・ソフトウェア・アップグレードのインストールおよびパッチ・セットの適用をサポートします。ここでは、Data Guard SQL Applyおよびロジカル・スタンバイ・データベースが使用され、データベースの停止時間はほとんどありません。

また、Oracle Clusterwareも、ソフトウェア・アップグレードおよびパッチ・セットの適用についてローリング方式によるアップグレードをサポートします。さらに、Oracle Database 11gでは、ASMもローリング・リリース・アップグレードをサポートします。

フィジカル・スタンバイ・データベースのユーザーは、ローリング・アップグレードの期間中に構成へのロジカル・スタンバイ・データベースの追加を選択することも、一時ロジカル・スタンバイ・データベースを使用して第2のスタンバイ・データベースの作成を回避することもできます。一時ロジカル・スタンバイ・データベースは、Oracle Database 11gにおけるData Guardの新機能で、ローリング・データベース・アップグレードを実行するために、フィジカル・スタンバイ・データベースをロジカル・スタンバイ・データベースに一時的に変換できます。このため、アップグレードが完了した後、ロジカル・スタンバイ・データベースをフィジカル・スタンバイ・データベースに戻すことができます。一時ロジカル・スタンバイ・データベースを使用すると、アップグレードを実行するために別のロジカル・スタンバイ・データベースを作成する必要がなくなります。

関連項目

一時ロジカル・スタンバイ・データベースを使用したローリング・アップグレードの段階的な手順の詳細は、『Oracle Data Guard概要および管理』を参照してください。 

Oracleでは、ローリング・アップグレードおよびローリング・パッチ更新をサポートしているため、企業のデータベース管理者が管理タスクを行うためのメンテナンス時間枠がほとんど不要となり、24時間365日の連続稼働が可能になります。

リソースの動的プロビジョニング

Oracle Databaseは、動的再構成に対するサポートの拡張を継続しているため、必要に応じて、サービスを中断せずにハードウェア内の変更に対応できます。Oracle Databaseは、次のようなハードウェア構成への変更を動的にサポートします。

前述の機能により、システム変更の影響が解消され、エンタープライズ・グリッド・コンピューティングにおける基本要件である必要に応じた容量のプロビジョニングが真に可能になります。

関連項目

Oracleのメモリー管理機能の詳細は、『Oracle Database管理者ガイド』を参照してください。 

Maximum Availability Architecture(MAA)のベスト・プラクティス

ITインフラストラクチャの実装を成功させる鍵は、運用面のベスト・プラクティスです。技術のみでは不十分です。OracleのMaximum Availability Architecture(MAA)は、可用性の高いシステムを構築するための完全に統合された実証済のブループリントです。MAAのブループリントには、Oracle RACおよびOracle Clusterware、Data Guard、Recovery Manager、フラッシュバック・テクノロジ、Streams、Enterprise Managerを含むOracle Databaseの主要機能を統合的に使用して高可用性を実現する方法が詳述されています。

Oracleテクノロジが関与するHAシステムの設計は複雑であったり当て推量が含まれるものであってはならないという理念に基づいて概念化されているため、MAAの設計と構成の推奨事項は、広範囲にわたって検討およびテストされており、最適なシステムの可用性と信頼性を実現できます。また、MAAは、サーバー、記憶域、ネットワーキングおよびアプリケーション・サーバーを含む可用性の高いシステムの他の重要なコンポーネントの構成と統合にも対処しています。MAAに基づいたシステム・アーキテクチャを持つ企業は、高可用性とデータ保護に関するビジネス上の要件を迅速かつ効率的に満たすことができます。

MAAの詳細は、http://www.oracle.com/technology/deploy/availability/htdocs/maa.htmを参照してください。


戻る 次へ
Oracle
Copyright © 1993, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引