1 Oracle Clusterwareの概要
Oracle Clusterwareの概念とコンポーネントです。
Oracle Clusterwareを使用すると、複数のサーバーが相互に通信することにより、1つの集合単位として機能するように見えます。このようなサーバーの組合せは、一般にクラスタと呼ばれます。これらのサーバーはスタンドアロン・サーバーですが、各サーバーには他のサーバーと通信する追加のプロセスがあります。このように、個々のサーバーはアプリケーションおよびエンド・ユーザーから1つのシステムとして認識されます。
ノート:
Oracle Grid Infrastructure 23ai以降、Oracleクラスタ・ドメイン・アーキテクチャに含まれるドメイン・サービス・クラスタ(DSC)は非推奨になりました。
Oracleクラスタ・ドメインは、ドメイン・サービス・クラスタ(DSC)とメンバー・クラスタで構成されます。メンバー・クラスタは、Oracle Grid Infrastructure 19cで非推奨となりました。DSCは、引き続き、本番クラスタにサービスを提供するために使用可能です。ただし、それらのサービスの大部分ではホスティングにDSCを必要としなくなったため、DSCのインストールはOracle Database 23aiでサポートされなくなります。該当する場合、以前にDSCでホストされていたサービスに、任意のクラスタまたはシステムを使用することをお薦めします。Oracleでは、代替システムで各サービスを使用できるようになるまで、共有サービスをホストするためのDSCのサポートを継続します。
Oracle Clusterwareの概要
Oracle Clusterwareは、統合環境に包括的な複数層の高可用性およびリソース管理を提供するポータブル・クラスタ・ソフトウェアです。独立したサーバーのクラスタリングが単一システムとして連携するようにサポートします。
Oracle Clusterwareは、Oracle Real Application Clusters (Oracle RAC)の統合された基盤であり、任意の主要なプラットフォーム上のすべてのアプリケーションに対する高可用性およびリソース管理フレームワークです。Oracle Clusterwareは最初、Oracle複数インスタンス・データベース(Oracle RAC)に必要なクラスタ技術として、Oracle Database 10gリリース1 (10.1)とともにリリースされました。目的は、クラウドでOracle Clusterwareを活用して、必要な状況でエンタープライズ・クラスの回復性を提供すること、および必要な場所と時間に計算リソースの動的なオンライン割当てを提供することです。
Oracle Clusterwareを構成して、ユーザー・アプリケーションとOracle Databaseの可用性を管理できます。Oracle RAC環境では、Oracle Clusterwareによってすべてのリソースが自動的に管理されます。Oracle Clusterwareで管理されるすべてのアプリケーションおよびプロセスは、クラスタ・リソースまたはローカル・リソースのどちらかです。
Oracle Clusterwareは、Oracle RACを使用するために必要であり、Oracle RACが動作するプラットフォームで必要とされる唯一のクラスタウェアです。Oracle Clusterwareをインストールして実行する各サーバーでは、同じオペレーティング・システムを実行している必要があります。
Oracle Clusterwareの使用により、ベンダー固有のクラスタウェアが不要になり、Oracleソフトウェアのみを使用するメリットが発揮されます。オラクル社では、Oracle Automatic Storage Management(Oracle ASM)によるディスク管理から、Oracle DatabaseおよびOracle RACによるデータ管理までのあらゆるソフトウェア・ソリューションを提供しています。さらに、基礎となるOracle Clusterwareの高可用性フレームワークとともに使用するときに、OracleサービスなどのOracle Database機能によって高度な機能が提供されます。
Oracle Clusterwareには、バイナリ以外に、ノードのメンバーシップ情報を記録する投票ファイルと、クラスタ構成情報を記録するOracle Cluster Registry(OCR)の2つのストアド・コンポーネントがあります。投票ファイルおよびOCRは、すべてのクラスタ・メンバー・ノードに使用可能な共有記憶域に存在する必要があります。
Oracleのクラスタの利点
クラスタの使用によるメリットは、次のとおりです。
-
アプリケーションのスケーラビリティ(Oracle RACおよびOracle RAC Oneデータベースを含む)
-
スケーラブルなシステムを低コストの汎用ハードウェアと組み合せることで、インフラストラクチャの総所有コストを削減できます。
-
フェイルオーバーの機能
-
サーバーをクラスタに追加してクラスタ・リソースを増やすことによって、クラスタ対応アプリケーションのスループットが必要に応じて向上します。
-
クラスタ内のすべてのノードでアプリケーションを実行できるため、クラスタ対応アプリケーションのスループットが向上します。
-
依存プロセスが適切な順序で確実に起動するように計画した順序でアプリケーションの起動をプログラムする機能
-
プロセスの監視、およびプロセスが停止した場合に再起動する機能
-
ハードウェアやソフトウェアの障害に起因する計画外停止時間を解消できます。
-
ソフトウェア・メンテナンスのための計画停止時間を削減または解消できます。
Oracle Flex Cluster
Oracle Clusterware 12cリリース2 (12.2)以降では、すべてのクラスタはOracle Flex Clusterとして構成されます。以前のバージョンのOracle Clusterwareの下で構成されているクラスタは、Oracle Flex ASM (Oracle Flex Clusterの要件である)のアクティブ化などのアップグレード・プロセスの一部として、適切に変換されます。
Clusterwareのアーキテクチャ
ノート:
Oracle Grid Infrastructure 23ai以降、Oracleクラスタ・ドメイン・アーキテクチャに含まれるドメイン・サービス・クラスタ(DSC)は非推奨になりました。
Oracle Clusterwareでは、インストール・プロセスの間に新しいクラスタに対して選択できるデプロイメント・アーキテクチャが1つ用意されています。
スタンドアロン・クラスタは、Oracle Grid InfrastructureのすべてのサービスおよびOracle ASMをローカルにホストします。また、共有記憶域に直接アクセスする必要があります。
Oracle Clusterwareのシステム要件の理解
Oracle Clusterwareのハードウェアとソフトウェアの概念および要件。
Oracle Clusterwareを使用するには、ハードウェアとソフトウェアの概念および要件を理解する必要があります。
Oracle Clusterwareのハードウェアの概念および要件
ハードウェアの概念および要件の理解は、Oracle Clusterwareの正常なデプロイメントに役立ちます。
クラスタは、1つ以上のサーバーで構成されます。外部ネットワークへのアクセスは、クラスタのサーバー(クラスタ・メンバーまたはノードとも呼ばれる)の場合も、スタンドアロン・サーバーの場合と同じです。
ノート:
多くのハードウェア・ベンダーが、1つのクラスタに単一の製品を使用してクラスタ構成を検証しています。クラスタリングを扱うのが初めてのユーザーは、この項の情報を使用することで、クラスタを作成するためのハードウェアを購入する際に、ハードウェアの調達に関する作業を簡素化できます。
クラスタに属するノードには、第2のネットワークが必要です。この第2のネットワークは、インターコネクトと呼ばれます。このため、クラスタ・メンバー・ノードには、2つ以上のネットワーク・インタフェース・カードが必要です(1つはパブリック・ネットワーク用、もう1つはプライベート・ネットワーク用)。インターコネクト・ネットワークは、クラスタ内のノードのみがアクセスできる単一のスイッチ(または複数のスイッチ)を使用するプライベート・ネットワークです。脚注1
ノート:
Oracleでは、Oracle Clusterwareのインターコネクトとして、クロスオーバー・ケーブルの使用はサポートされていません。
クラスタのサイズは、クラスタで実行するワークロードの要件と、クラスタで構成したノードの数によって決まります。高可用性対応のクラスタを実装する場合は、インフラストラクチャのすべてのコンポーネントで次の冗長構成を使用します。
-
パブリック・ネットワーク用で、1つのアドレスを提供するために搭載される2つ以上のネットワーク・インタフェース
-
プライベート・インターコネクト・ネットワーク用の2つ以上のネットワーク・インタフェース
クラスタには、クラスタ内の各サーバーの記憶域への共有接続が必要です。Oracle Clusterwareは、ネットワーク・ファイル・システム(NFS)、iSCSI、Direct Attached Storage (DAS)、Storage Area Network (SAN)ストレージおよびNetwork Attached Storage (NAS)をサポートしています。
ストレージの冗長性を確保するには、通常、各サーバーからクラスタ対応ストレージに対して最低2つの接続を用意します。実際のI/O要件によっては、さらに多くの接続を用意することもあります。ストレージ・サブシステムを選択する際に、クラスタ全体のI/O要件を考慮することは重要です。
ほとんどのサーバーには、内部に1つ以上のローカル・ディスクが含まれます。通常、このディスクは、オペレーティング・システム・バイナリ用に使用されますが、ユーザーはこのディスクをOracleソフトウェアのバイナリ用としても使用できます。各サーバーでOracleバイナリの独自コピーを保持することのメリットは、高可用性が向上することであり、このため1つのバイナリの破損が同時にクラスタ内のすべてのノードに影響を及ぼすことがなくなります。また、これによってローリング・アップグレードも可能になり、停止時間を削減できます。
Oracle Clusterwareのオペレーティング・システムの概念および要件
Oracle Clusterwareをインストールする前に、まず、オペレーティング・システムをインストールして、検証する必要があります。
各サーバーには、インストールするOracle Clusterwareのリリースの動作が保証されたオペレーティング・システムが存在する必要があります。詳細は、使用するプラットフォームの『Oracle Grid Infrastructureインストレーションおよびアップグレード・ガイド』またはMy Oracle Support (以前のOracleMetaLink)の保証マトリックスを参照してください。
オペレーティング・システムをインストールして実行したら、Oracle Clusterwareをインストールしてクラスタを作成できます。Oracle Clusterwareは、Oracle Databaseとは別にインストールされます。Oracle Clusterwareのインストール後に、Oracle DatabaseまたはOracle RACをクラスタ内の任意のノードにインストールできます。
Oracle Clusterwareのソフトウェアの概念および要件
Oracle Clusterwareでは、投票ファイルを使用して、フェンシングの提供およびクラスタ・ノードのメンバーシップの判断が行われます。Oracle Cluster Registry (OCR)ではクラスタ構成情報が提供されます。投票ファイルとOCRはまとめてOracle Clusterwareファイルと呼ばれます。
Oracle ClusterwareファイルはOracle ASMに格納する必要があります。Oracle ASMディスクの基礎となる記憶域が、RAIDのようにハードウェアによって保護されていない場合は、OCRおよび投票ファイル用に複数の場所を構成することをお薦めします。次に、投票ファイルおよびOCRについて説明します。
-
投票ファイル
Oracle Clusterwareでは、投票ファイルを使用して、クラスタのメンバーであるノードを判断します。投票ファイルはOracle ASMまたは共有記憶域で構成できます。
投票ファイルをOracle ASMで構成する場合は、投票ファイルを手動で構成する必要はありません。ディスク・グループの冗長性に応じて、適切な数の投票ファイルが作成されます。
投票ファイルをOracle ASMで構成しない場合は、高可用性を確保するために、物理的に異なるストレージに3つ以上の投票ファイルを配置することをお薦めします。これによって、シングル・ポイント障害を回避できます。単一の投票ファイルを構成した場合、冗長性のために外部のミラー化を使用することをお薦めします。
最大15の投票ファイルがサポートされていても、6つ以上の投票ファイルを使用しないことをお薦めします。
-
Oracle Cluster Registry
Oracle Clusterwareでは、Oracle Cluster Registry(OCR)を使用して、Oracle Clusterwareで制御するOracle RACデータベース、 リスナー、仮想IPアドレス(VIP)、サービスと任意のアプリケーションなどのコンポーネントの情報を格納および管理します。OCRには、一連のキーと値のペアからなる構成情報がツリー構造に格納されます。クラスタの高可用性を確保するために、複数のOCRの場所を定義することをお薦めします。さらに、次のような特徴があります。
-
最大5つのOCRの場所を使用できます。
-
各OCRの場所は、クラスタ内のすべてのノードがアクセスできる共有記憶域に存在している必要があります。
-
障害が発生したOCRの場所がOCRの唯一の場所でないかぎり、オンラインで交換できます。
-
OCRは、Oracle Enterprise Manager、Oracle Clusterware制御ユーティリティ(CRSCTL)、サーバー制御ユーティリティ(SRVCTL)、OCR構成ユーティリティ(OCRCONFIG)、Oracle Database Configuration Assistant (Oracle DBCA)などのサポートされているユーティリティを介して更新する必要があります
-
関連トピック
Oracle Clusterwareのネットワーク構成の概念
Oracle Clusterwareを使用すると、クラスタのネットワーク要件の自己管理により、動的なOracle Grid Infrastructureが可能になります。
Oracle Clusterwareは、動的ホスト構成プロトコル(DHCP)またはVIPアドレス用のステートレス・アドレス自動構成と単一クライアント・アクセス名(SCAN)アドレスの使用をサポートしていますが、パブリック・アドレスの使用はサポートしていません。DHCPはIPv4 VIPアドレスの動的割当てを行い、ステートレス・アドレス自動構成はIPv6 VIPアドレスの動的割当てを行います。
ノードVIPの使用は、クラスタ・デプロイメントではオプションです。デフォルトでは、クラスタ環境をデプロイするとノードVIPが組み込まれます。
Oracle RACを使用する場合、すべてのクライアントはデータベースにアクセスできる必要があります。これは、クライアントは、VIP名およびSCAN名をすべてのVIPアドレスおよびSCANアドレスにそれぞれ解決する必要があることを意味しています。この問題は、グリッド・ネーミング・サービス(GNS)をクラスタに追加することによって解決します。GNSは会社のドメイン名サービス(DNS)にリンクされるため、クライアントは、ホスト名をこれらの動的アドレスに解決し、クラスタおよびデータベースに透過的に接続できます。Oracle Clusterware 12c以降のリリースでは、DHCPまたはゾーン委任なしのGNSの使用がサポートされています(ゾーン委任または動的ネットワークなしで構成できるOracle Flex ASMサーバーと同様です)。
ノート:
Windows上にDHCPまたはゾーン委任がない場合、GNSの使用はサポートされていません。
ノート:
Oracle Grid Infrastructureのグリッド・ネーミング・サービス(GNS)の高可用性グリッド・ネーミング・サービス機能は、Oracle Database 23aiでは非推奨になりました。高可用性GNSでは、マルチクラスタ環境における複数のGNSインスタンスを様々なロールで実行できます。この機能は非推奨になります。これに替わる機能はありません。
単一クライアント・アクセス名(SCAN)
Oracle Clusterwareでは、動的VIPアドレス構成に単一クライアント・アクセス名(SCAN)を使用でき、手動でサーバー構成を実行する必要がありません。
SCANは、DNSまたはGNSのIPアドレス(1つ以上3つ以下)に登録されているドメイン名です。GNSおよびDHCPを使用している場合、Oracle Clusterwareでは、クラスタの構成時に指定されるSCAN名のVIPアドレスが構成されます。
ノードVIPおよび3つのSCAN VIPは、GNSを使用時している場合、DHCPサーバーから取得されます。新しいサーバーがクラスタに追加されると、Oracle Clusterwareでは、必要なVIPアドレスはDHCPサーバーから動的に取得されてクラスタ・リソースが更新され、GNSを介してサーバーにアクセスできるようになります。
関連トピック
アドレスの手動構成
動的な構成にGNSおよびDHCPを使用するかわりに、手動でアドレスを構成することもできます。
アドレスの手動構成では、次のものを構成します。
-
ノードごとに1つのパブリック・アドレスとホスト名。
-
ノードごとに1つのVIPアドレス。
クラスタ内の各ノードにVIPアドレスを割り当てる必要があります。各VIPアドレスは、ノードのパブリックIPアドレスと同じサブネット上に存在し、DNSで名前を割り当てられているアドレスである必要があります。また、Oracle Clusterwareのインストール前は、各VIPアドレスがネットワーク内から使用されず、pingの実行も不可能であることが必要です。
-
クラスタ全体で最大3つのSCANアドレス。
ノート:
SCANは、パブリック・ネットワークの1つ以上のアドレスに解決される必要があります。高可用性およびスケーラビリティを確保するために、パブリック・ネットワーク上の3つのアドレスに解決されるようにSCANを構成することをお薦めします。
Oracle Clusterwareのプラットフォーム固有のソフトウェア・コンポーネントの概要
稼働しているOracle Clusterware内で、様々なプラットフォーム固有のプロセスまたはサービスが各クラスタ・ノードで実行されます。
この項では、これらのプロセスおよびサービスについて説明します。
Oracle Clusterware技術スタック
Oracle Clusterwareは、クラスタ・レディ・サービス(CRS)・デーモン(CRSD)によってアンカーされている上位技術スタックと、Oracle高可用性サービス・デーモン(OHASD)によってアンカーされている下位技術スタックという2つの別個の技術スタックで構成されています。
これらの2つの技術スタックには、クラスタ操作を円滑化する複数のプロセスがあります。次の項では、これらの技術スタックについて詳細に説明します。
クラスタ・レディ・サービス技術スタック
クラスタ・レディ・サービス(CRS)技術スタックは、様々なサービスを管理するために複数のプロセスを利用します。
次のリストでは、これらのプロセスについて説明します。
-
クラスタ・レディ・サービス(CRS):クラスタで高可用性操作を管理する主要プログラム。
CRSDは、各リソースのOCRに格納されている構成情報に基づいて、クラスタ・リソースを管理します。これには、起動、停止、監視およびフェイルオーバー操作が含まれます。CRSDプロセスは、リソースのステータスが変更されるとイベントを生成します。Oracle RACをインストールしている場合、CRSDプロセスはOracle Databaseインスタンス、プラガブル・データベース(PDB)、リスナーなどを監視し、障害が発生した場合にこれらのコンポーネントを自動的に再起動します。
-
クラスタ同期サービス(CSS): クラスタのメンバーシップを管理し、ノードがクラスタに対して追加または削除された際にメンバーに通知することによって、クラスタ構成を管理します。保証されているサード・パーティ製クラスタウェアを使用している場合、CSSプロセスは、クラスタウェアとともに動作して、ノードのメンバーシップに関する情報を管理します。
cssdagent
プロセスは、クラスタの監視およびI/Oフェンシングを実行します。このサービスは、以前はOracle Process Monitor Daemon(oprocd
)(WindowsではOraFenceService
とも呼ばれる)によって提供されていました。クラスタ同期サービス・デーモン(CSSD)の障害の結果、Oracle Clusterwareでノードが再起動される場合があります。 -
Oracle ASM: Oracle ClusterwareおよびOracle Databaseのディスク管理が提供されます。
-
イベント・マネージメント(EVM): Oracle Clusterwareによって作成されたイベントを発行するバックグラウンド・プロセス。
-
グリッド・ネーミング・サービス(GNS): 外部DNSサーバーから送信されるリクエストを処理し、クラスタで定義されている名前の名前解決を実行します。
-
Oracle Agent (
oraagent
): クラスタウェアを拡張して、Oracle固有の要件および複雑なリソースをサポートします。このプロセスは、FANイベントが発生した場合にサーバー・コールアウト・スクリプトを実行します。このプロセスは、Oracle Clusterware 11gリリース1(11.1)ではRACGと呼ばれていました。 -
Oracle Notification Service (ONS): 高速アプリケーション通知(FAN)イベントの通信用のパブリッシュおよびサブスクライブ・サービス。
-
Oracle Root Agent(
orarootagent
):root
が所有しているネットワークやグリッド仮想IPアドレスなどのリソースをCRSDが管理するのを支援する専用のoraagent
プロセス。
クラスタ同期サービス(CSS)、イベント・マネージメント(EVM)およびOracle Notification Service (ONS)コンポーネントは、同じクラスタ・データベース環境で、他のノードのクラスタ・コンポーネント・レイヤーと通信します。また、これらのコンポーネントは、Oracle Database、アプリケーションおよびOracle Clusterwareの高可用性コンポーネント間における主要通信リンクです。さらに、これらのバックグラウンド・プロセスは、データベース操作を監視および管理します。
Oracle高可用性サービス技術スタック
Oracle高可用性サービス技術スタックは、Oracle Clusterwareの高可用性を提供するために複数のプロセスを使用します。
次のリストでは、Oracle高可用性サービス技術スタック内のプロセスについて説明します。
-
appagent
: 以前のバージョンのOracle Clusterwareで使用されていたapplication
リソース・タイプのリソースを保護します。 -
Cluster Logger Service (
ologgerd
): クラスタ内のすべてのノードから情報を受け取ります。このサービスは、クラスタ内の2つのノードのみで実行されます。 -
グリッド・プロセス間通信(GIPC): 冗長なインターコネクトの使用を可能にするサポート・デーモン。
-
グリッド・プラグ・アンド・プレイ(GPNPD): グリッド・プラグ・アンド・プレイ・プロファイルへのアクセスを提供し、クラスタのノード間でプロファイルの更新を調整して、すべてのノードで最新のプロファイルが保持されるようにします。
-
マルチキャスト・ドメイン名サービス(mDNS): クラスタ内のプロファイルを特定するためにグリッド・プラグ・アンド・プレイによって使用され、名前解決を実行するためにGNSによって使用されます。mDNSプロセスは、Linux、UNIXおよびWindowsのバックグラウンド・プロセスです。
-
Oracle Agent (
oraagent
): クラスタウェアを拡張して、Oracle固有の要件および複雑なリソースをサポートします。このプロセスは、Oracle Clusterware所有者として実行されるGIPC、GPNPD、GIPCなどのデーモンを管理します。ノート:
このプロセスは、Cluster Ready Servicesテクノロジ・スタックで実行する同じ名前のプロセスとはまったく異なります。
-
Oracle Root Agent (
orarootagent
):root
が所有するCluster Health Monitor (CHM)などのリソースをCRSDが管理するのを支援する専用のoraagent
プロセス。ノート:
このプロセスは、Cluster Ready Servicesテクノロジ・スタックで実行する同じ名前のプロセスとはまったく異なります。
-
scriptagent
: シェル・スクリプトまたはバッチ・スクリプトを使用してアプリケーションを保護する場合に、application
以外のリソース・タイプのリソースを保護します。 -
システム監視サービス(
osysmond
): 監視して、データをクラスタ・ログ出力サービスに送信するオペレーティング・システム・メトリック収集サービス。このサービスは、クラスタ内のすべてのノードで実行されます。
表1-1に、Oracle Clusterwareコンポーネントに関連付けられたプロセスおよびサービスを示します。表1-1で、UNIXまたはLinuxシステムのプロセスに(r)とある場合、そのプロセスがroot
ユーザーとして実行されることを示します。
ノート:
Oracle ASMは単なる1つのプロセスではなく、インスタンスでもあります。Oracle Flex ASMの場合、Oracle ASMはすべてのクラスタ・ノードで必ずしも実行されるわけではなく、一部のクラスタ・ノードでのみ実行されます。表1-1 Oracle Clusterwareコンポーネントに関連付けられたプロセスおよびサービスのリスト
Oracle Clusterwareコンポーネント | LinuxおよびUNIXのプロセス | Windowsのプロセス |
---|---|---|
CRS |
|
|
CSS |
|
|
EVM |
|
|
GIPC |
|
|
GNS |
|
|
グリッドのプラグ・アンド・プレイ |
|
|
LOGGER |
|
|
マスターDiskmon |
|
|
mDNS |
|
|
Oracle Agent |
|
|
Oracle高可用性サービス |
|
|
ONS |
|
|
Oracle Root Agent |
|
|
SYSMON |
|
|
ノート:
LinuxプラットフォームのOracle Clusterwareでは、複数のスレッドが、一意のプロセス識別子を持つ個別のプロセスとして表示される場合があります。
図1-1は、クラスタの起動を表しています。
トランスポート層セキュリティ暗号スイート管理
Oracle Clusterwareでは、特定の暗号スイートを無効化するCRSCTLコマンドが提供されており、無効化された暗号スイートの詳細がOracle Local RegistryおよびOracle Cluster Registryに格納されます。それにより、無効化リストに含まれている暗号スイートがトランスポート層セキュリティのネゴシエーションに使用されないようにします。
Oracle Clusterware 19c以降のテクノロジ・スタックでは、ノード間通信とノード内通信の両方にGIPCライブラリが使用されます。ノード間通信チャネルを保護するために、GIPCライブラリはトランスポート層セキュリティを使用します。Oracle Clusterwareのどのリリースでも、GIPCライブラリはプリコンパイルされた暗号スイートのセットをサポートします。時間の経過とともに、暗号スイートが影響されることがあります。Oracle Clusterware 19cより前は、今後新しい接続で使用されないように、セットに含まれる特定の暗号スイートを無効にすることはできませんでした。
暗号リストの問合せ
crsctl get cluster tlsciphersuite
無効化されたリストへの暗号スイートの追加
crsctl set cluster disabledtlsciphersuite add cipher_suite_name
無効化されたリストからの暗号スイートの削除
crsctl set cluster disabledtlsciphersuite delete cipher_suite_name
Oracle Databaseの高可用性オプション
Standard Edition High Availability、Oracle Restart、Oracle Real Application Clusters (Oracle RAC)およびOracle RAC One Nodeを使用して、Oracle Databaseで使用可能な高可用性オプションを確認します。
次に、Oracle Databaseで使用可能な高可用性オプションの概要を示します。
Standard Edition High Availability
- クラスタベースのアクティブ/パッシブOracle Databaseフェイルオーバー・ソリューションです。
- シングル・インスタンスのStandard Edition Oracle Database用に設計されています。
- Oracle Database 19cリリース更新(RU) 19.7以降で使用可能です。
- Oracle Grid Infrastructure 19c RU 19.7以降がスタンドアロン・クラスタとしてインストールされている必要があります。
Oracle Restart
- スタンドアロン・サーバー・デプロイメントの場合は、Oracle Databaseインスタンスにより、Oracle Automatic Storage Management (Oracle ASM)の機能および基盤のみが再起動されます。
- シングル・インスタンスのOracle Databasesの場合
- スタンドアロン・サーバー(クラスタなし)の場合はOracle Grid Infrastructureが必要です。
Oracle Real Application Clusters (Oracle RAC) One Node
- クラスタベースのアクティブ/パッシブOracle Databaseフェイルオーバー・ソリューションおよびオンライン・データベース再配置ソリューションを提供します。
- Oracle RAC対応Oracle Databaseで使用可能です。
- 通常操作ではOracle RAC対応Oracle Databaseのインスタンスが1つのみ実行されています。
- アクティブなインスタンスをオンライン方式でクラスタ内の別のサーバーに再配置できます。アクティブなインスタンスを再配置するには、宛先サーバーで2つ目のインスタンスを一時的に起動し、ワークロードを再配置します。
- ローリング・アップグレード(パッチ・セット、データベースおよびオペレーティング・システム)がサポートされています。
- アプリケーション・コンティニュイティがサポートされています。
- Oracle Grid Infrastructureをスタンドアロン・クラスタとしてインストールする必要があります。
Oracle Real Application Clusters(Oracle RAC)
- アクティブ/アクティブのOracle Database高可用性ソリューションおよびスケーラビリティ・ソリューションを提供します。
- 複数のサーバーが同じOracle Database上で複数のトランザクションを同時実行できます。
- 次のような高可用性を提供します。データベース・インスタンスまたはサーバーに障害が発生しても、他のインスタンスやそれらのサーバーが稼働しているため、データベース・サービス全体が中断されることはありません。
- ローリング・アップグレード(パッチ・セット、データベースおよびオペレーティング・システム)がサポートされています。
- アプリケーション・コンティニュイティがサポートされています。
- Oracle Grid Infrastructureをスタンドアロン・クラスタとしてインストールする必要があります。
Oracle Clusterwareのリリースの互換性
クラスタには、異なるリリースのOracle ClusterwareおよびOracle Databaseをインストールできます。ただし、互換性に関する考慮事項に注意する必要があります。
クラスタに異なるリリースのソフトウェアをインストールする場合、次のガイドラインに従ってください。
-
クラスタ内で実行できるOracle Clusterwareのインストールは1つのみであり、Oracle Clusterwareは自身のソフトウェア・ホーム(
Grid_home
)にインストールする必要があります。使用するOracle Clusterwareのリリースは、クラスタ内で実行するOracle ASMおよびOracle RACのバージョン以上である必要があります。クラスタ内で実行するOracle Clusterwareのバージョンより後に公開されたOracle RACのバージョンをインストールすることはできません。たとえば:-
Oracle Clusterware 23aiは、Oracle Database 23ai、Oracle Database 21cおよびOracle Database 19cをサポートしています。
-
Oracle Database 23aiには、Oracle Clusterware 23aiが必要です。たとえば、Oracle Clusterware 23aiをクラスタウェアとしてインストールしている場合、1つのノードでOracle Database 19c単一インスタンス・データベースを実行し、またクラスタで別個のOracle Real Application Clusters 21cおよびOracle Real Application Clusters 23aiデータベースも実行できます。
-
-
クラスタでは、Oracle Databaseソフトウェア(シングル・インスタンスおよびOracle RACの両方)の複数のOracleホームを使用できます。Oracle RACデータベースのすべてのノードのOracleホームは同じである必要があります。
-
Oracle ClusterwareとOracle Databaseのホームでは、属しているプライマリ・グループが同じであれば異なるユーザーを使用できます。
-
連携して動作する保証がないかぎり、同じサーバーでは異なるクラスタ・ソフトウェアを実行しないことをお薦めします。
ノート:
Oracle Clusterware 21c以降では、Oracle Clusterwareとベンダーまたはサード・パーティのクラスタウェアとの統合はサポートされなくなりました。
Oracle Clusterwareのアップグレードおよびパッチ適用の概要
インプレース・パッチ適用によって、Oracle Clusterwareソフトウェアは同じGridホームの新しいバージョンに置き換えられます。アウトオブプレース・アップグレードの場合は、同じソフトウェアの両方のバージョンがノードに同時に存在しますが(Gridホームは異なる)、アクティブなバージョンは1つのみです。
Oracle Clusterware 12c以降のリリースの場合、Oracleでは、インプレースまたはアウトオブプレース・パッチ適用がサポートされます。ホーム外のアップグレードのみがサポートされます。
Oracleでは、インプレース・パッチ適用についてはパッチ・バンドルおよび個別パッチがサポートされていますが、アウトオブプレース・アップグレードについてはパッチ・セットおよびメジャー・ポイント・リリースのみがサポートされています。
ローリング・アップグレードでは、停止時間が回避され、ソフトウェアが新しいバージョンにアップグレードされる間、Oracle Clusterwareの連続的な可用性が確保されます。Oracle Clusterware 12c以降のリリースにアップグレードすると、Oracle ClusterwareおよびOracle ASMバイナリは、Oracle Grid Infrastructureという単一バイナリとしてインストールされます。
Oracleでは、クラスタの一部のノードが停止している場合の強制アップグレードがサポートされます。
Oracle Clusterware環境の管理の概要
Oracle Clusterwareでは、環境を管理するためのいくつかの異なるユーティリティを用意しています。
次のリストに、Oracle Clusterware環境を管理するユーティリティを示します。
-
Cluster Health Monitor (CHM): Cluster Health Monitorは、オペレーティング・システムおよびクラスタ・リソースに関連した低下および障害を検出および分析して、ノードの削除など、Oracle ClusterwareおよびOracle RACの数多くの問題について詳細情報をユーザーに提供します。このツールは、オペレーティング・システム・リソースの消費状況を、ノード、プロセスおよびデバイス・レベルで継続的に追跡します。また、クラスタ全体のデータを収集し分析します。リアルタイム・モードでは、しきい値に達すると、ツールによってユーザーにアラートが表示されます。根本原因分析のため、履歴データを再生し、障害発生時に何が起きていたのかを理解できます。
Oracle Grid Infrastructure 23ai以降では、Cluster Health Monitorに、保留中の障害または実際の障害を示す重要なコンポーネント・イベントをリスニングし、それらを推奨される対処法とともに報告する新しい診断機能が導入されています。場合によっては、これらのアクションが自律的に処理されることがあります。Oracle Databaseホスティング・インフラストラクチャの堅牢性と信頼性の向上は、企業にとって重要なビジネス要件です。これにより、初期障害時の検出および修正機能が改善されます。自律的な自己回復によってビジネス継続性が改善され、価値がもたらされます。
-
構成検証ユーティリティ(CVU): CVUは、クラスタとOracle RAC固有の様々なコンポーネントの検証に使用するコマンドライン・ユーティリティです。CVUを使用して、共有ストレージ・デバイス、ネットワーク構成、システム要件、Oracle Clusterware、およびオペレーティング・システムのグループやユーザーを検証します。
CVUをインストールして使用し、インストール前およびインストール後のクラスタ環境をチェックします。CVUは、Oracle ClusterwareおよびOracle RACコンポーネントのインストール前およびインストール時に特に役立ち、これによって、現在の構成がインストールの最小要件を満たしていることを確認できます。また、CVUを使用して、ノードの追加や削除などの管理タスクの完了後にその構成を検証できます。
-
Oracle Cluster Registryコンフィギュレーション・ツール(OCRCONFIG): OCRCONFIGは、OCR管理のためのコマンドライン・ツールです。また、OCRCHECKおよびOCRDUMPユーティリティを使用して、OCRに影響を及ぼす構成の問題のトラブルシューティングを実行できます。
-
Oracle Clusterware制御(CRSCTL): CRSCTLは、Oracle Clusterwareを管理するためのコマンドライン・ツールです。CRSCTLは、クラスタウェアの一般的な管理および個々のリソースの管理に使用します。
Oracle Clusterware 12cには、クラスタ対応コマンドが導入されています。これらのコマンドを使用すると、操作に応じて、クラスタ内の別のノードに対して、またはクラスタ内のすべてのノードに対して、クラスタ内の任意のノードから操作を実行できます。
crsctl
コマンドを使用して、クラスタ・リソース(crsctl status resource
)を監視し、crsctl status server
やcrsctl relocate server
などのサーバーを監視および管理できます。ノード固有のオプション引数-n
または-all
を使用して、クラスタ全体でOracle高可用性サービスを管理することもできます(crsctl start | stop | enable | disable | config crs
)。また、CRSCTLを使用して個々のノードでOracle Clusterwareを管理できます(crsctl start | stop | enable | disable | config crs
)。 -
Oracle Enterprise Manager: Oracle Enterprise Managerには、単一インスタンス環境とOracle RACデータベース環境の両方を管理するために、Cloud ControlインタフェースとGrid Control GUIインタフェースの両方があります。また、Oracle Clusterware、およびOracle Grid Infrastructureのインストールで構成したすべてのコンポーネントを管理するGUIインタフェースもあります。Oracle Enterprise Managerを使用して管理タスクを実行することをお薦めします。
-
Oracle Interface Configurationツール(OIFCFG):OIFCFGシングル・インスタンスのOracle DatabaseとOracle RAC環境の両方のコマンドライン・ツールです。OIFCFGを使用して、ネットワーク・インタフェースのコンポーネントへの割当ておよび割当て解除を行います。また、OIFCFGを使用して、特定のネットワーク・インタフェースを使用するようにコンポーネントを設定したり、コンポーネントの構成情報を取得できます。
-
サーバー制御ユーティリティ(SRVCTL): SRVCTLは、クラスタ内のデータベース、サービス、リスナーなどのOracleリソースを管理するためのコマンドライン・インタフェースです。Oracle Database 21c以降では、PDBはOracle Clusterwareによって管理されるリソースです。SRVCTLコマンドを使用してPDBを管理できます。
コマンドの評価の概要
Oracle Clusterware制御(CRSCTL)ユーティリティを使用すると、Oracle Clusterware環境内でサーバーおよびポリシーを管理するためにCRSCTLコマンドを使用した場合に、どのような理由で(妥当なコマンドの評価)何が発生するか(コマンドの評価)について、実際に変更することなく評価できます。
妥当なコマンド評価の機能は、様々なCRSCTLコマンドの冗長出力を介してOracle Clusterwareで特定のアクションが実行される理由を示すことによって拡張されます。
ノート:
ポリシー管理型のデータベース・デプロイメント・オプションは、Oracle Database 23aiではサポートされなくなりました。次の例は、クラスタ内の3つのサーバーすべてでリソースcs1
がオンラインであることを示しています。
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
cs1
1 ONLINE ONLINE server_n1_0 STABLE
2 ONLINE ONLINE server_n1_1 STABLE
3 ONLINE ONLINE server_n1_2 STABLE
--------------------------------------------------------------------------------
次の例は、サーバーserver_n1_1
が停止したときにリソースcs1
がどうなるかを示しています。
$ crsctl eval delete server server_n1_1
Stage Group 1:
--------------------------------------------------------------------------------
Stage Required Action
--------------------------------------------------------------------------------
1 Y Resource 'cs1' (2/1) will be in state 'OFFLINE'.
Y Server 'server_n1_1' will be removed from pools 'Free'.
2 Y Resource 'cs1' (2/1) will be in state 'ONLINE|INTERMEDIATE' on
server 'server_n1_3'.
---------------------------------------------------------------------
ノート:
CRSCTLはサード・パーティ・リソースのみを評価できます。ora.orcl.db
など、oraという接頭辞が付いたリソースは、SRVCTLコマンドを使用して評価する必要があります。
グリッド環境でのOracle Clusterwareのクローニングおよび拡張の概要
ノードのクローニングは、新しいクラスタを作成する1つの方法です。クローニングを使用して、同じ構成で複数のクラスタを迅速に作成します。
クローニング・プロセスでは、Oracle Clusterwareソフトウェアのイメージが同様のハードウェアおよびソフトウェアを持つ他のノードにコピーされます。クローニングを使用する前に、プラットフォーム固有のOracle Grid Infrastructureのインストレーション・ガイドに記載された手順を使用して、1つ以上のノードにOracle Clusterwareホームを正常にインストールする必要があります。
新規インストールの場合またはインストールするクラスタが1つのみの場合は、Oracle Universal InstallerやOracle Enterprise ManagerのProvisioning Pack機能など、自動化された対話型のインストール方法を使用することをお薦めします。これらの方法ではインストールのチェックが実行されるため、正常にインストールできます。クラスタ内のノードに対してOracle Clusterwareを追加または削除するには、gridsetup.sh
スクリプトを使用します。
Oracle Clusterwareの高可用性フレームワークおよびAPIの概要
Oracle Clusterwareでは、クラスタで実行されるアプリケーションまたはプロセスを管理できる、CLSCRS APIという多くの高可用性Application Program Interfaceが提供されます。このCLSCRS APIによって、すべてのアプリケーションで高可用性を実現できます。
アプリケーションが実行されているクラスタ内のノードとは関係なくユーザーがアプリケーションにアクセスできるように、アプリケーションのVIPアドレスを定義できます。これは、アプリケーションVIPとも呼ばれます。複数のアプリケーションVIPを定義できます。通常、実行中のアプリケーションごとに1つのアプリケーションVIPを定義します。アプリケーションVIPは、Oracle Clusterwareにより定義されたアプリケーション・リソースに依存することでアプリケーションに関連付けられます。
Oracle Clusterwareコンポーネントは、高可用性を維持するために、定義されている高可用性規則に従い、ステータスの変化に応じてアプリケーションおよびプロセスを再起動できます。アプリケーションをOracle Clusterwareに登録し、クラスタウェアがアプリケーション・プロセスを起動、停止または再配置できるように構成することによって、Oracle Clusterwareの高可用性フレームワークを使用できます。これを行うには、Oracle Clusterwareを使用して、アプリケーションを監視、再配置および再起動するプロファイルを作成し、カスタム・アプリケーションの高可用性を確保します。
脚注の凡例
脚注1:Oracle Clusterwareでは、Oracle Database 12cリリース2 (12.2)以降のリリースが稼働する構成において、クラスタ内で最大100のノードがサポートされます。