データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

本記事では、Oracle Database Enterprise Edition の機能である Oracle® Real Application Clusters (RAC) One Node(11g Release 2 で導入)について解説します。この機能は、シングルインスタンスの Oracle Database に対して強化された高可用性を提供し、計画停止・計画外停止の両方からデータベースを保護します。また、One Node の利用に必須となる Oracle Grid Infrastructure のインストール手順についても詳しく紹介します。

はじめに

RAC One Node とは、クラスタを構成する 1 台のノード上で稼働するシングルインスタンスの Oracle RAC であり、もう 1 台のノードはコールドスタンバイ状態で待機する構成です。この機能により、顧客はデータベースのデプロイと管理を標準化し、ストレージを統合しながら、ダウンタイムやサービス中断なしにフルマルチノードの Oracle RAC データベースへアップグレードすることが可能になります。

RAC を活用すれば、継続的な可用性を実現できます。透過的アプリケーション・フェイルオーバー(TAF)と呼ばれるフェイルオーバー・ルーティング機構により、サーバーのクラッシュやノード障害の発生時には、トランザクションが生存しているサーバーへ自動的に振り向けられるため、遅延はほとんど、あるいはまったく発生しません。

TAF の特筆すべき点は、インスタンスを新しいノードへ高速にクローン(複製)できることです。

「ノードに障害が発生した場合、Oracle Clusterware はクラスタ内の別のサーバー上で
Oracle RAC One Node インスタンスを自動的に再起動します。」

TAF はダウンタイムなしでインスタンスの再配置を自動化し、手作業を一切必要としない点が大きなメリットです。この仕組みには、インスタンスの移行・再配置を支援する Omotion 機能が使われています。

RAC One Node と RAC の違い

従来の RAC はマルチノード構成で使用され、複数の独立したインスタンスがそれぞれ別々のサーバー上で稼働します。一方、RAC One Node はクラスタ内の単一ノード上で稼働する RAC 構成であり、致命的なサーバー障害や瞬間的な障害が発生した際に備えた高速な「インスタンス再配置(instance relocation)」機能を備えています。

RAC はアクティブ/アクティブ(Live-Live)型のソリューションとして動作します。クラスタ内のすべてのノードがアクティブ状態にあり、接続やワークロードを受け入れることができ、全体として 1 つのユニットのように協調動作します。

これに対して RAC One Node は、名前のとおりアクティブ/スタンバイ(Live-Standby)型のソリューションです。アクティブなのは 1 ノードのみで、その他のノードは、アクティブノードに障害(計画的・計画外を問わず)が発生したときにワークロードを引き継ぐために待機しています。

RAC One Node のメリット

RAC One Node アーキテクチャには、以下のような利点があります。

  • セッションをオンラインのままアクティブノードから移行できる
  • RAC One Node から RAC へのオンラインアップグレード(およびその逆)が容易
  • Exadata をサポート
  • Oracle Virtualization Manager(OVM)環境での利用をサポート
  • RAC へのローリングパッチ適用を、RAC One Node と同じインターフェースで実施可能
  • DBCA を使って(11.2.0.2 以降)One Node データベースを簡単に作成できる
  • RAC と同じプラットフォーム群でサポートされる
  • クラスタのフェイルオーバー機構により高可用性を確保

インストールの前提条件(Red Hat Enterprise Linux Server 6)

One Node をインストールする前に、次のタスクを実行しておいてください。

  • root ユーザーとして、Oracle ソフトウェアの所有者となるユーザーおよび OS グループを作成します。

  • すべてのノードで、日付と時刻の設定を可能な限り同一になるように合わせます。ntpd の -x オプション、または Oracle Cluster Time Synchronization Service(CTSSD)を使って時刻を同期できます。-x オプション付き ntpd の設定手順については、My Oracle Support のドキュメント(Note:551704.1)を参照してください。

  • クラスタの各ノードで SSH(Secure Shell)を設定し、以下の RPM パッケージがインストールされていることを確認します。

    binutils-2.20.51.0.2-5.11.el6.i686
    compat-libcap1-1.10-1.i686
    compat-libstdc++-33-3.2.3-69.el6.i686
    gcc-4.4.4-13.el6.i686
    gcc-c++-4.4.4-13.el6.i686
    glibc-2.12-1.7.el6.i686
    glibc-devel-2.12-1.7.el6.i686
    ksh
    libgcc-4.4.4-13.el6.i686
    libstdc++-4.4.4-13.el6.i686
    libstdc++-devel-4.4.4-13.el6.i686
    libaio-0.3.107-10.el6.i686
    libaio-devel-0.3.107-10.el6.i686
    make-3.81-19.el6.i686
    sysstat-9.0.4-11.el6.i686
  • ASM ライブラリを確認します。Red Hat Enterprise Linux Server 6 向けに、以下の Oracle ASMLib パッケージが必要です。

    oracleasm-support-2.1.8-1.el6.x86_64.rpm
    oracleasmlib-2.0.4-1.el6.x86_64.rpm
  • Oracle のダウンロードサイトから、Grid および RDBMS のインストール用ソフトウェアを入手します。インストール対象のプラットフォームに合ったバイナリを選択してください。

  • 両ノードに、Oracle Grid CRS Home 用のディレクトリを作成します。デフォルトでは Grid は /u02/app 配下にインストールされます。

    [grid@BOSODBD01 grid]$ cd /u02/app
    [grid@BOSODBD01 app]$ ls -lrt
    
    total 12
    drwxr-xr-x. 3 root oinstall 4096 Sep 28 00:31 grid
    drwxrwxr-x. 9 grid oinstall 4096 Sep 30 22:48 oracle
    drwxrwx---. 6 grid oinstall 4096 Oct  7 21:11 oraInventory
    
    [grid@BOSODBD01 grid]$ ls -lrt
    
    total 4
    drwxr-xr-x. 68 root oinstall 4096 Sep 28 00:36 11.2.0.4

Grid のインストール

以下の手順に従って Grid をインストールします。

ステップ 1:インストールの開始

VNC(Virtual Network Computing)接続を開き、grid ユーザーとして、Grid Infrastructure のインストール zip ファイルを配置したフォルダに移動(cd)し、ファイルを展開して ./runInstaller を実行します。

最初のインストール画面で「ソフトウェアの更新のスキップ(Skip software updates)」を選択して「次へ」をクリックします。以下の画像のようにオプションを選択してください。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

続いて、次の画面で「拡張インストール(Advanced Installation)」を選択します。

ステップ 2:ノード情報の入力

クラスタ名と SCAN 名を入力し、クラスタノード情報の各画面に正しいデフォルトノードが表示されていることを確認します。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順 Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

ステップ 3:SSH 接続の設定とテスト

SSH 接続(SSH Connectivity)」をクリックし、grid ユーザーの OS パスワードを入力してパスワード不要の SSH 接続を設定・テストします。「セットアップ(Setup)」を選択してください。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順 Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

ステップ 4:ネットワークの選択

サブネットに応じて「ネットワーク・インターフェース名(Network Interface Name)」と「タイプ(Type)」を選択します。なお、1 つのサブネットに関連付けられるインターフェースは 1 つだけにしてください。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

ストレージオプションとして「Oracle ASM」を選択し、以下のようにデータ保存用のディレクトリを指定します。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

ステップ 5:グループの選択

以下の画像のようにグループを選択する際は、十分に注意してください。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

ステップ 6:Grid ディレクトリの指定

Oracle Grid Infrastructure for Cluster のベースディレクトリ、HOME ディレクトリとなるソフトウェア格納先、およびインベントリディレクトリを指定します。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順 Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順 Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

ステップ 7:インストールの完了

セットアップの前提チェックが終了したら、「すべて無視(Ignore All)」にチェックを入れて「次へ」をクリックし、インストールを実行します。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

インストール完了後は、以下の画像のように root.sh スクリプトの実行を忘れないでください。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

ステップ 8:インストール後の確認

以下のタスクを実行して、インストールが正常に完了していることを検証します。

  • root ユーザーとして、以下のコマンドを実行して Grid インストールを確認します。

    ./crs_stat –t
    ./crsctl check cluster –all
  • grid ユーザーとして、以下のコマンドを実行して Grid インストールを確認します。

    crsctl query css votedisk
  • $GRID_HOME/bin 配下で以下のコマンドを実行し、ディスクグループを作成します。

    asmca

データベースのインストール

続いて、以下の手順でデータベースをインストールします。

ステップ 1:RDBMS のインストール

oracle ユーザー(RDBMS ソフトウェアの所有者)として、以下のコマンドでインストーラを起動します。

# su – oracle
# cd RDBMSインストール用ソフトウェアを配置したディレクトリ
# ./runInstaller

注意: インストーラは必ず意図したソフトウェア所有者ユーザーで実行してください。ソフトウェア所有者を変更する唯一のサポート対象方法は、データベースの再インストールだからです。

ステップ 2:Grid オプションの選択

データベースのインストール手順を進めると、Grid インストールオプションの入力を求められます。以下の画像のように選択してください。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

ステップ 3:データベース構成オプションの選択

データベース構成オプションの種類と詳細情報の入力を求められたら、以下の画像のように選択します。データベースストレージを尋ねられた場合は、必ず「Oracle Automatic Storage Management」を選択してください。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順 Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順 Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

ステップ 4:ディスクグループの選択

ディスクグループは Grid インストール後に作成されています。以下の画像のようにそれを選択してください。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

エラーが表示された場合は、以下のように「すべて無視(Ignore All)」にチェックを入れて進めても問題ありません。

Oracle RAC One Node アーキテクチャ徹底解説:高可用性データベースの構築と導入手順

RAC One Node の主なコマンド

One Node の運用で利用できる主なコマンドは以下のとおりです。

  • srvctl config database -d <データベース名>
    出力に「Type: RACOneNode」という項目が表示されれば、このデータベースが One Node RAC 構成であることを示します。

  • srvctl status database -d <データベース名>
    データベースの現在のステータスを確認できます。

  • srvctl relocate database -d <データベース名> -n <ホスト名> -w 10 -v
    RAC One Node をクラスタ内のもう一方のノードへ移行(再配置)します。現在稼働中のインスタンスをシャットダウンしたうえで、相手側ノードのインスタンスを起動します。

まとめ

Oracle RAC One Node は、Oracle Database の可用性を大きく向上させるソリューションです。

現在、多くの企業がサーバー負荷の軽減、インスタンス可用性の向上、メンテナンスによる停止時間(日常業務の妨げとなるもの)の削減、そしてデータベース管理の簡素化を求めています。Oracle RAC One Node は、クラウド環境のデータベースやデプロイメントを含め、こうした課題に対する最良級のソリューションと言えるでしょう。

ご質問やフィードバックがある場合は、フィードバックタブからお気軽にお寄せください。当社のデータベースサービスについてさらに詳しく知りたい方は、関連ページをご覧ください。

  1. 【Mac小技】Optionキー+クリックでアクティブなウィンドウだけを一瞬で非表示にする方法

    Macをキーボードショートカットで効率よく操作している方なら、Command + Hで作業中のアプリケーション全体を非表示にできること、さらにOption + Command + Hで作業中のアプリ以外をすべて非表示にできることはご存じでしょう。 ところで、Optionキーを押しながらクリック(マウスまたはトラックパッド)するだけで、アクティブなウィンドウだけを個別に非表示にできることをご存じでしょうか? Option + クリックでウィンドウ単位の非表示が可能 複数の書類やブラウザウィンドウを開いているとき、「今このウィンドウだけ隠したい」という場面は意外と多いものです。そんなときは、アク

  2. 2022年版!Androidで使えるおすすめスクリーンショットアプリ5選

    議論や討論の中で、証拠となるものがなくて自分の主張を証明できなかった経験はありませんか?また、SNS上では面白いものから残念なものまで、さまざまなミーム(ネタ画像)ページに出会うことも多いでしょう。そんな中、スマートフォンユーザーの間では、トークのやり取りや画像をスクリーンショットとして保存する習慣がすっかり定着しました。しかし、多くの人は標準のスクリーンショット機能だけを使っており、画像をさらに編集しようとすると別途サードパーティ製アプリが必要になることも少なくありません。時間とバッテリーの消費を抑えるためにも、ここではAndroid向けのおすすめスクリーンショットアプリを厳選してご紹介しま