目次
Oracle RAC とは何ですか?
共有ストレージ マルチアクティブ クラスター
このうち、ホストをノード(Node)と呼びますが、CPUやメモリなどの構成が同一である必要があり、内部ネットワークと外部ネットワークにアクセスするために、それぞれに少なくとも2枚のネットワークカードが必要です。 、共有ストレージに接続するための HBA カードが使用されますが、さらに多くの場合、FC スイッチを介して FC ストレージ アレイに接続されます。共有ストレージは RAC アーキテクチャの中核であり、ほとんどのファイルは共有ストレージにあり、共有ストレージのセキュリティのために多くの機能が開発されています。一般に、光ファイバーは FC インターフェースを介して接続され、SCSI プロトコルを実行します。
論理構造
DLM: 同時実行制御
OCR: Amnesia
投票ディスク: スプリット ブレイン
Cache Fusion Lock
4 種類のネットワーク
Oracle Clusterware
アプリケーション層: RDBMS
キャッシュ フュージョン
ユーザーによる割り当て
サービスによる割り当て
つまり、RAC はサービスに応じたノードの割り当てをサポートしています。たとえば、生産と販売に異なるノードが使用されます。独自のデータは独自のキャッシュにあるため、他のノードにアクセスする必要はありません。パフォーマンスが向上します。
ホームページ データベース Oracle OracleクラシックスキルRACの詳細説明

OracleクラシックスキルRACの詳細説明

Mar 14, 2022 pm 05:28 PM
oracle

この記事では、Oracle に関する関連知識を提供します。主に RAC 関連の問題を紹介します。Oracle Real Application Cluster は、クラスタ環境でマルチマシン共有データベースを実現し、アプリケーションの高可用性を確保するために使用されます。皆様のお役に立てれば幸いです。

OracleクラシックスキルRACの詳細説明

推奨チュートリアル: 「Oracle チュートリアル

ビジネス量の増加に対処するには、通常 2 つの一般的な方向性があります。 1 つは 1 台のサーバーの CPU 演算能力、メモリ容量、ディスク容量などを増やす垂直方向の拡張であり、もう 1 つはサーバーの数を増やすことで処理能力を高める水平方向の拡張です。前者は業務の中断や拡張の限界など多くの問題があり、特にインターネットサービスの急速な発展に伴い、単一のサーバーでは業務負荷を満たすのが困難なため、現在は水平拡張が主流となっています。

Oracle RAC とは何ですか?

Oracle Real Application Cluster (RAC、リアルタイム アプリケーション クラスタ) は、クラスタ環境でマルチマシン共有データベースを実現し、アプリケーションの高可用性を確保すると同時に、自動的に並列処理と負荷分散を実現し、フォールトトレランスと障害時のデータベースのブレークポイントフリーリカバリを実現します。ネットワークコンピューティング環境をサポートするOracleデータベースの中核技術です。

共有ストレージ マルチアクティブ クラスター

このアーキテクチャでは、クラスター内の複数のノードが同じデータベース インスタンスを実行し、どこに存在してもデータは完全に一貫しています。ユーザーはノードアクセスから開始し、取得されるデータは同じです。下図はOracle RACの概略図で、3つのノードでクラスタを構成し、データを共有しています。
OracleクラシックスキルRACの詳細説明
RAC の特徴は次のように要約できます:

  • ノードが相互接続されサーバーとして表示される;
  • クラスター ソフトウェアが内部構造を隠す;
  • ディスクは共有されます;
  • 各マシンは同じオペレーティング システムを使用します;
  • 複数のインスタンスが同じデータベースにアクセスします;
  • 各ノード 例があります;
  • データベース ファイルは物理的または論理的アクセスをサポートします;

データの読み取りと書き込みはソフトウェアによって制御されます。 OracleクラシックスキルRACの詳細説明
OracleクラシックスキルRACの詳細説明

#Oracle RAC と単一データベース サーバーの違い
OracleクラシックスキルRACの詳細説明次に示すように、主な違いは RAC であることです。はクラスタ化されたデータベースであり、クラスタ ソフトウェアによって管理されます。
OracleクラシックスキルRACの詳細説明

Oracle RAC ハードウェア アーキテクチャ

クラスタ全体の可用性を確保するために、Oracle RAC には展開中にハードウェアに関する多くの要件があります。ネットワーク・レベルでは、Oracle RAC には、外部アクセス・ネットワーク、内部プライベート・ネットワーク、ストレージ・ネットワークという合計 3 つのネットワーク システムがあります。
OracleクラシックスキルRACの詳細説明 ネットワークへの外部アクセスについては、これ以上言うまでもなく、誰もが理解していると思います。内部プライベート ネットワークは、主に、データ送信、ハートビート、クラスター管理など、Oracle クラスターの内部使用に使用されます。ネットワークのこの部分では、リンク障害によってクラスターの異常が発生しないように、展開中にデュアル スイッチとデュアル物理リンクが必要です。背後にはストレージ ネットワークがあり、RAC クラスタがストレージ リソースにアクセスするために使用します。この部分もリンク冗長です。


OracleクラシックスキルRACの詳細説明別の例は、2 ノード RAC システムである次の図です。ホストからスイッチまで冗長性が実装されていることがわかります。どのデバイスに障害が発生しても、ビジネスには影響しません。共有ストレージには RAID 冗長性が備わっています。

このうち、ホストをノード(Node)と呼びますが、CPUやメモリなどの構成が同一である必要があり、内部ネットワークと外部ネットワークにアクセスするために、それぞれに少なくとも2枚のネットワークカードが必要です。 、共有ストレージに接続するための HBA カードが使用されますが、さらに多くの場合、FC スイッチを介して FC ストレージ アレイに接続されます。共有ストレージは RAC アーキテクチャの中核であり、ほとんどのファイルは共有ストレージにあり、共有ストレージのセキュリティのために多くの機能が開発されています。一般に、光ファイバーは FC インターフェースを介して接続され、SCSI プロトコルを実行します。

Oracle RAC ソフトウェア アーキテクチャ

###以下に示すように、これは 2 ノードの RAC システムであり、データベース ソフトウェアとして Oracle RDBMS、クラスタ ソフトウェアとして Oracle Clusterware が使用されます。ドライバーは主にネットワークカード、HBAカード、ASMLibなどです。 ###

各ノードは同じオペレーティング システムを使用し、パッチ番号などを含むバージョンが一貫している必要があります。たとえば、オペレーティング システム: RHEL AS 4.8 64 ビット、Linux カーネル バージョン: 2.6.9-89.EL。
OracleクラシックスキルRACの詳細説明
Oracle RAC をより深く理解するために、内部ソフトウェア モジュールの構成を見てみましょう。データベース全体のレベルでは大きな違いはありませんが、主な追加点は、仮想 IP (VIP)、ASM、クラスターウェア、クォーラム ディスクです。これらの新しいコンポーネントは連携して動作し、Oracle のマルチアクティブ クラスタ機能を完成させます。

仮想 IP は、アプリケーションがデータベースにアクセスするための入り口です。この IP はどのサーバーにもバインドされていませんが、クラスター内のどのサーバー間でも移動できます。この機能により、サーバーのクラッシュが発生した場合、データベース クラスターは同じインターフェイスを通じてサービスを外部に提供できるようになります。
OracleクラシックスキルRACの詳細説明
ASM と Clusterware はクラスタ管理機能を実装します。ASM はディスクの同時アクセスによるデータ不整合のリスクを回避するためにディスク管理を実装し、Clusterware は Oracle クラスタのソフトウェア プロセスとリソース スケジューリングの管理に使用されます。 。

クォーラム ディスクは、クラスター内のサーバーの異常を判断するために使用されます。クラスター内のノードは、クォーラム ディスクの特定の領域のデータを定期的に更新することで、自身の正常性状態をマークします。他のノードは、このデータに基づいてノードがダウンしているかどうかを判断できます。

論理構造

次の図は Oracle RAC の論理構造であり、内部の各コンポーネントを順番に紹介します。
OracleクラシックスキルRACの詳細説明

DLM: 同時実行制御

各ノードは共有格納データにアクセスするための同等の権限を持ち、Oracle RAC は複数のノードに対して分散ロック管理 (DLM) を使用して同時アクセスを制御します。分散ロック マネージャーは、ノード間の共有リソースの競合を調整する役割を果たします。ノードがデータにアクセスするときは、まず DLM を通じて適用し、他のノードと競合しないことを確認してから使用する必要があります。

OCR: Amnesia

Amnesia: 各ノードにクラスター構成情報のコピーがある場合、構成変更後に同期がないとエラーが発生します。

したがって、クラスターはすべてのノードで共有される構成情報を 1 つだけ持つことができます。 Oracle RAC は、OCR ディスク ファイルを使用して健忘症を解決します。

OCR ディスクはマスター ノードによってのみ変更できます。各ノードは OCR キャッシュ メモリにコピーを持っています。ノードが OCR ディスクを変更する場合は、マスター ノードを要求し、このノード上の OCR プロセスがローカルおよび他のノードの OCR キャッシュの内容を更新します。 OCR ディスクは数時間ごとに定期的にバックアップされます。

投票ディスク: スプリット ブレイン

スプリット ブレイン: クラスター内のノードはハートビート検出を使用して、相手が正常かどうかを確認します。ハートビートに問題がある場合、両方のノードが次のように判断します。相手が間違っていると判断すると、排他的なデータが必要となり、データの整合性が崩れてしまいます。

投票ディスクはノード間のメンバーのステータスを記録するために使用されます。スプリット ブレインが発生すると、投票数が最も多いノードが選択されて制御を獲得し、他のノードは追い出されます。

IO 分離: キックアウトされたノードはデータにアクセスできなくなるため、IO 分離が必要です。 Oracle RAC のメカニズムは、障害が発生したノードを再起動することです。

Cache Fusion Lock

データベース ファイルは共有され、Cache Fusion Lock はクラスタ レベル外でのストレージ共有と同時アクセス制御を解決します。

4 種類のネットワーク

1.パブリック ネットワーク: パブリック IP を使用して、外部データ クエリ、データベース メンテナンス、およびサーバー メンテナンスを提供します。

2.仮想ネットワーク: 仮想 IP を使用してアプリケーション接続を提供し、アプリケーションはこの IP を使用します。

TCP/IP プロトコルでは、TCP ヘッダーには送信元ポートと宛先ポートが含まれ、IP ヘッダーには送信元 IP と宛先 IP が含まれ、アプリケーション層データベース モニターは IP とポートを記録します。 、データベースまたはモニターに問題があることがわかっています。 TCP/IP プロトコル スタックのタイムアウトは OS によって決定され、OS ごとに定義が異なります。エラーを検出する時間を短縮するために、Oracle RAC は VIP を使用します。仮想 IP はフローティングであり、物理ネットワーク カードにバインドされていません。ノードに障害が発生すると、VIP は正常なノードに移動されます。ただし、正常なノードの監視で VIP が見つかりません。アプリケーションは問題をすぐに検出します。をクリックして、「他の VIP が接続リクエストを送信する」に切り替えます。

3.プライベート ネットワーク: 高速性が必要な RAC ハートビート検出とキャッシュ フュージョン ロックにはプライベート IP を使用します。

4. ストレージ ネットワーク: ストレージ デバイス、HBA カード、FC ネットワークで構成されます。

Oracle Clusterware

単一マシンでは、OS のみが上位層のリクエストを処理できますが、複数のマシンがある場合、クラスタ管理ソフトウェア Oracle Clusterware は、マシンが実行される前に他のノードへのリクエストをインターセプトします。 OS カーネル、その他 ノードのクラスタウェア通信によりリクエストが完了します。

アプリケーション層: RDBMS

アプリケーション層は複数の CRS リソースで構成され、各リソースは複数のプロセスで構成される完全なサービスです。 LMON(ロックモニター)はCRSリソースを監視し、異常発生時に再起動・切り替えを行うことでOracle RACサービスの高可用性を確保します。

キャッシュ フュージョン

キャッシュ フュージョンは文字通り理解できます。実際、キャッシュ フュージョンは各ノードのキャッシュを均一に管理し、読み取りのたびにディスクを操作する必要を回避し、高速化することです。 IOパフォーマンス。プライベート ネットワークは非常に高速であるため、ディスクの読み取りよりも高速です。さまざまな場所からデータ ブロックを読み取る時間:

  • ローカル キャッシュ: 0.01 ミリ秒
  • 他のノードへのネットワーク アクセス キャッシュ: 2.5 ミリ秒
  • ディスク: 14 ミリ秒。しかし現在、ストレージ側に SSD またはオールフラッシュ アレイが搭載されているため、レイテンシは約 1 ミリ秒です。したがって、オールフラッシュ アレイでは、Cache Fusion はおそらく無意味です。

Cache Fusion は GCS (グローバル キャッシュ サービス) を通じて管理され、キャッシュを 1 つの大きなキャッシュとして扱います。

#読み取りキャッシュ プロセス

OracleクラシックスキルRACの詳細説明##書き込みキャッシュ プロセス

##書き込みディスク プロセスOracleクラシックスキルRACの詳細説明

#ロード バランシング

OracleクラシックスキルRACの詳細説明ユーザーが RAC に対してさまざまなリクエストを開始すると、ロード バランシングはタスクをさまざまなマシンに割り当てます。

ユーザーによる割り当て

複数のマシンからランダムに選択されたものですか?いいえ! RAC は各マシンのステータスに基づいてタスクを動的に割り当てます。データベースの実行中に、PMON バックグラウンド プロセス ノードの負荷情報がリスナーに登録され、1 ~ 10 分ごとに更新されます。各ノードのリスナーは、すべてのノードの負荷ステータスを認識し、最もビジーなノードにクライアント要求を送信します。

サービスによる割り当て

ユーザーによる割り当てには、Cache Fusion が忙しくなる可能性があるという欠点があります。 RAC ノードのデータは共有されるため、全員が Cache Fusion を介してデータを同期します。RAC のパフォーマンスは Cache Fusion のパフォーマンスによって大きく制限されます。高価な InfiniBand を使用するなどプライベート ネットワークをより強力にするか、もう 1 つはキャッシュ フュージョンのトラフィックを削減し、実際にノード インスタンス間の依存関係を減らすことです。ユーザーに応じた割り当てのメカニズムは、その後の解決策に役立ちません。

つまり、RAC はサービスに応じたノードの割り当てをサポートしています。たとえば、生産と販売に異なるノードが使用されます。独自のデータは独自のキャッシュにあるため、他のノードにアクセスする必要はありません。パフォーマンスが向上します。

3 種類のクラスター

負荷分散クラスター: 特定のアルゴリズムに従ってリクエストをさまざまなメンバーに割り当てます;

ハイ パフォーマンス クラスター (HPC、ハイ パフォーマンス クラスター) : Tianhe Computer など、強力なコンピューティング性能と非常に高価な、ベクトル プロセッサなどの特殊なソフトウェアとハ​​ードウェアで構成される素晴らしいマシンを採用;
  • 高信頼性クラスター (HAC: High Availability Cluster、Failover Cluster): 非常に高い信頼性が高く、ハードウェアとソフトウェアの耐障害性が非常に高く、日常的に使用されるデータベース クラスターはこのカテゴリに分類されます。
  • 高信頼性クラスター
デュアルマシン ホット スタンバイ

通常、そのうちの 1 台がアイドル状態でスタンバイ状態になっています。動作中の 1 台に障害が発生した場合、 、彼に交代交代をさせます。

デュアルマシンの相互バックアップ
OracleクラシックスキルRACの詳細説明
通常、両方のマシンが独自の作業を行いますが、一方のマシンがハングアップすると、もう一方のマシンも停止してしまうため、一部のリソースを予約する必要があります。失敗するのは二人の仕事です。

2台二重化
OracleクラシックスキルRACの詳細説明
例: 社長と次兄が一緒にお店をオープンしており、通常は社長が主に販売を行っています。肉まん、二代目親分が肉まんを販売 二代目は主に豆乳を販売 長兄が困ったら二代目が肉まんと豆乳を販売 二代目が失敗したら長兄が肉まんを販売再びパンと豆乳。

Baozi Soy Milk is data. お互いをケアすることをハートビート検出と呼び、お互いの作業を引き継ぐことをフェイルオーバーと呼びます。 2人の兄弟が突然目が見えなくなり、耳が聞こえなくなり、もう一方が今仕事をしているかどうか分からず、お互いがもう一方の仕事を引き継がなければならないと考える場合、これをスプリットブレインと呼び、その後、父親などの第三者が介入します。問題を解決するには、が必要です。これは投票と呼ばれます。または、2 人の妻に来て、そのうちの 1 人を連れ去るように依頼します。これは IO 分離と呼ばれます。 Oracle RAC はこのカテゴリに属し、最高のパフォーマンスと最も複雑なシステムを備えています。

推奨チュートリアル: 「

Oracle 学習チュートリアル OracleクラシックスキルRACの詳細説明

以上がOracleクラシックスキルRACの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracleの表空間サイズを確認する方法 Oracleの表空間サイズを確認する方法 Apr 11, 2025 pm 08:15 PM

Oracle Tablespaceサイズを照会するには、次の手順に従ってください。クエリを実行して、TableSpace名を決定します。DBA_TABLESPACesからTableSpace_Nameを選択します。クエリを実行してテーブルスペースのサイズをクエリします:sum(bytes)をtotal_size、sum(bytes_free)asavail_space、sum(bytes) - sum(bytes_free)as sum(bytes_free)as dba_data_files from tablespace_

Oracleのインストールをアンインストールする方法は失敗しました Oracleのインストールをアンインストールする方法は失敗しました Apr 11, 2025 pm 08:24 PM

Oracleインストール障害のためのアンインストールメソッド:Oracleサービスを閉じ、Oracleプログラムファイルとレジストリキーを削除し、Oracle環境変数をアンインストールし、コンピューターを再起動します。アンインストールが失敗した場合、Oracle Universal Uninstallツールを使用して手動でアンインストールできます。

Oracleでテーブルを作成する方法 Oracleでテーブルを作成する方法 Apr 11, 2025 pm 08:00 PM

Oracleテーブルの作成には、次の手順が含まれます。作成テーブルの構文を使用して、テーブル名、列名、データ型、制約、およびデフォルト値を指定します。テーブル名は簡潔で説明的である必要があり、30文字を超えてはなりません。列名は説明的でなければならず、データ型は列に保存されているデータ型を指定します。 NOT NULL制約により、列でnull値が許可されていないことが保証され、デフォルト句は列のデフォルト値を指定します。テーブルの一意の記録を識別する主要なキーの制約。外部キーの制約は、表の列が別のテーブルの主キーを指していることを指定します。主要なキー、一意の制約、デフォルト値を含むサンプルテーブル学生の作成を参照してください。

Oracleデータベースをインポートする方法 Oracleデータベースをインポートする方法 Apr 11, 2025 pm 08:06 PM

データインポート方法:1。SQLLOADERユーティリティを使用します。データファイルを準備し、制御ファイルを作成し、SQLLoaderを実行します。 2。IMP/EXPツールを使用します。データをエクスポートし、データをインポートします。ヒント:1。ビッグデータセットに推奨されるSQL*ローダー。 2。ターゲットテーブルが存在する必要があり、列定義が一致します。 3。インポート後、データの整合性を検証する必要があります。

Oracleのインスタンス名を表示する方法 Oracleのインスタンス名を表示する方法 Apr 11, 2025 pm 08:18 PM

Oracleでインスタンス名を表示するには3つの方法があります。「sqlplus」と「v $ instanceからselect instance_name;」を使用します。」コマンドラインのコマンド。 「show instance_name;」を使用しますSQL*Plusのコマンド。オペレーティングシステムのタスクマネージャー、Oracle Enterprise Manager、またはオペレーティングシステムを介して、環境変数(LinuxのOracle_Sid)を確認してください。

Oracleビューを暗号化する方法 Oracleビューを暗号化する方法 Apr 11, 2025 pm 08:30 PM

Oracle View暗号化により、ビュー内のデータを暗号化でき、それにより機密情報のセキュリティが強化されます。手順には以下が含まれます。1)マスター暗号化キー(MEK)の作成。 2)暗号化されたビューを作成し、暗号化されるビューとMEKを指定します。 3)暗号化されたビューにアクセスすることをユーザーに許可します。暗号化されたビューがどのように機能するか:ユーザーが暗号化されたビューを求めてクエリをするとき、OracleはMEKを使用してデータを復号化し、認定ユーザーのみが読み取り可能なデータにアクセスできるようにします。

Oracleを再び追求する方法 Oracleを再び追求する方法 Apr 11, 2025 pm 07:33 PM

Oracleは複数の重複排除クエリメソッドを提供します。個別のキーワードは、各列の一意の値を返します。 Group by Clauseは、結果をグループ化し、各グループの非繰り返し値を返します。一意のキーワードは、一意の行のみを含むインデックスを作成するために使用され、インデックスをクエリすると自動的に重複排除が行われます。 row_number()関数は、一意の数値を割り当て、行1のみを含む結果をフィルタリングします。min()またはmax()関数は、数値列の非繰り返し値を返します。交差する演算子は、2つの結果セットの共通値を返します(複製なし)。

Oracleで文字化けのコードを解決する方法 Oracleで文字化けのコードを解決する方法 Apr 11, 2025 pm 10:09 PM

Oracle Garbledの問題は、データベース文字セットをチェックしてデータと一致するようにすることで解決できます。データベースに一致するようにクライアント文字を設定します。データを変換するか、列文字セットを変更してデータベース文字セットに一致させます。 Unicode文字セットを使用して、マルチバイト文字セットを避けます。データベースとクライアントの言語設定が正しいことを確認してください。

See all articles