テックノート

テックノート>はじめましてOracle! Vol.3

  • DB(Oracle Database)
2012.06.18

はじめましてOracle! Vol.3

はじめましてOracle! Vol.3

第3回目となる今回は、ハードウェアとソフトウェアが一体となった『Engineered Systems』の1つであるOracle Database Applianceの概要とインストール方法について解説します。(全6回連載)


Vol.3 買ってつないだらすぐ使える!Oracle Database Applianceがやってきた!(概要&インストール編)

Engineered Systemsとは?


過去2回に渡ってOracle Databaseのインストールと初期設定手順を解説してきました。手順さえ把握しておけば、データベースが動く状態まで持っていくことは簡単です。しかし、実際に本番利用するためには様々な要件をクリアしなければなりません。

例えばショッピングサイトのようなWebサービスの場合、24時間365日稼働し続ける可用性が求められます。データベースが停止してしまうと注文を受け付けられず、大きな損失が発生します。また、商品を素早く検索・表示するための性能も重要です。利用者を待たせてしまうと購買意欲が薄れ、他のサイトに移動してしまうからです。他にもセキュリティや拡張性といった様々な要件が存在します。

これらは非機能要件と呼ばれ、実際の現場では長い時間をかけて設計やテストが行われています。なかにはハードウェアの機能を駆使しなければクリアできない要件もあり、幅広い知識と経験が求められます。「インストールはできるけど、非機能要件を満たせているのか不安。」というケースが多いのではないでしょうか。

そこで誕生したのが、ハードウェアとソフトウェアが一体となった『Engineered Systems』です。予め設計やテストを済ませた状態で提供されるため、最初から可用性や性能などの非機能要件をクリアしたデータベースを使うことができます。

第3回目となる今回は、Engineered Systemsの1つであるOracle Database Applianceの概要とインストール方法について解説します。

データベースの可用性と性能を考える際のポイント


代表的な非機能要件である可用性と性能について考えてみましょう。Oracle Databaseにおける最小構成はシングル・インスタンス構成(あるいはシングル構成)と呼ばれ、インスタンスとデータベースの関係が1:1となっています。本連載で解説してきたインストール手順はシングル・インスタンス構成のものです。

シングル・インスタンス構成

シングル・インスタンス構成

シングル・インスタンス構成には、可用性と性能においてそれぞれ課題があります。まず可用性ですが、シングル・インスタンス構成には障害が発生するとデータベースが使用できなくなる『単一障害点』が存在します。最も分かりやすい単一障害点はサーバーです。シングル・インスタンス構成の場合はサーバーが1台しかないため、部品故障などのハードウェア障害が発生するとインスタンスが停止してしまいます。代わりとなるサーバーがない限り、部品を手配して交換するまでの数時間はデータベースを使用できません。

性能においても、サーバーが1台しかないことが問題になります。データベースの利用者やデータ量が増加するとデータベースの負荷が上昇するため、ハードウェアのリソースが多く必要になります。対処方法としてCPUやメモリーを増強する『スケール・アップ』が考えられますが、1台のサーバーに搭載できる量には限界があります。また、どれだけハードウェアのリソースを増強したとしても、サーバーが1台である以上は可用性と性能を両立できません。

Oracle Real Application Clusters(RAC)構成


シングル・インスタンス構成の課題である可用性と性能を同時に解決するのが、Oracle Real Application Clusters(以下、RAC)構成です。RAC構成では複数のインスタンスで1つのデータベースを管理します。つまり、インスタンスとデータベースの関係がn:1となっています。

RAC構成

RAC構成

サーバーが複数台あるため、1台に障害が発生しても生き残ったサーバーを使うことができます。シングル・インスタンス構成とは異なり、サーバーが復旧するまで待つ必要はありません。生き残ったサーバーに接続を切り換えるフェイルオーバー機能も実装されているため、シングル・インスタンス構成と比べて可用性が向上しています。

また、サーバー複数台分のハードウェア・リソースを同時に使うことが可能です。複数あるインスタンスのどれに接続しても同じ処理結果が得られるため、接続先をランダムに選択したり、負荷の低いインスタンスに接続するなどの負荷分散を実現できます。また、あとからサーバーを追加する『スケール・アウト』が可能であるため、シングル・インスタンス構成と比べてより多くの処理を捌くことができます。

RAC構築における現場の声


RACは可用性と性能を両立する素晴らしい機能ですが、現場担当者はある悩みを抱えています。それはRACに必要なハードウェアとソフトウェアが多岐に渡るため、どう組み合わせたら良いか分からないというものです。

RACに必要な要素

RACに必要な要素

RACのインストール要件さえクリアしていれば、どのメーカーのハードウェアを選んでも構いません。極端な例ですが、サーバー、スイッチ、ストレージのメーカーが全て異なっていたとしてもRACは動きます。

しかし、問題が発生した際の責任分解点が分かりにくいという課題があります。故障のように原因がはっきりしている場合は良いですが、パフォーマンス劣化などの場合は、原因の切り分けが非常に困難です。サポートに問合せることもできますが、窓口が複数ある場合は全てに連絡しなければなりません。また、仮に問合せをしたとしても、メーカー同士で責任の押し付け合いが発生してしまい、原因究明が遅れることもあります。

こうした課題があるため、現場では長い時間をかけて設計とテストが行われています。安定稼働が保証されたRACが完成するまでには、数ヶ月かかることもあります。

RACをたった2時間で構築できる Oracle Database Appliance


ハードウェアとソフトウェアの組み合わせによって発生する問題を解決するのが、Oracle Database Applianceです。RACに必要なハードウェアとソフトウェアを1つの筐体に集約し、さらに事前設計・テスト済みの状態で提供されます。

Oracle Databaseのアプライアンスというと、Oracle Exadataを思い浮かべる方が多いと思いますが、Oracle Database Applianceは『簡単』『高可用性』『手ごろな価格』という3つに重点をおいた全く新しい製品です。

Oracle Database Appliance

Oracle Database Appliance

外観は1台のサーバー(あるいはストレージ)に見えますが、サーバー2台とストレージがわずか4Uという省スペースの中に収まっています。

Oracle Database Appliance前面/背面図

Oracle Database Appliance前面/背面図

また、ストレージとノード間通信用の経路は内部結線になっているため、複雑なケーブリングは必要ありません。部品も冗長化済みであるため、障害に強い構成となっています。

Oracle Database Applianceサーバー内部

Oracle Database Applianceサーバー内部

アプライアンスというと、一般的に高価なイメージがありますが、Oracle Database Applianceには『Pay as you grow』という独自のライセンス方式があり、初期の投資コストを大きく抑えられます。

搭載されている全てのコアではなく、実際に使う分だけがライセンスの対象になるため、最低2プロセッサ分のライセンスでRACを動かすことが可能です。

Pay as you grow

Pay as you grow

更に、Oracle Database ApplianceにはRACのインストールと初期設定を簡単に行うためのOracle Appliance Managerというツールが提供されています。電源を入れてネットワークをつなぎ、Oracle Appliance Managerの指示に沿って進めるだけで、ベストプラクティスに基づいたRACの環境を簡単に手に入れることができます。必要な時間はわずか2時間です。

Oracle Appliance Managerによるインストール、初期設定手順


実際のインストールと初期設定手順を見ていきましょう。Oracle Database Applianceのインストールに必要なファイルはEnd-User Bundleと呼ばれ、zipファイルとして提供されています。作業用のクライアントPCからMy Oracle Supportに接続し、最新バージョンのEnd-User Bundleをダウンロードします。

End-User Bundleのダウンロード

End-User Bundleのダウンロード

ダウンロードが完了したら、Oracle Database Applianceにzipファイルを転送します。Oracle Database Applianceには予めOracle Linuxがインストールされており、電源を入れるとテキストログインの画面が表示されます。まずノード1にrootユーザでログインします。rootユーザのパスワードはデフォルトでwelcome1に設定されていますが、後で変更することができます。ログインに成功したら、IPアドレスやネットマスクなどのネットワーク設定を行います。

ノード1のrootユーザで実行
# /opt/oracle/oak/bin/oakcli configure firstnet
Select the interface to configure network on [bond0 bond1 bond2 xbond0]:bond0
Configure DHCP on bond0?(yes/no):no
INFO: Static configuration selected
Enter the IP address to configure:<IPアドレスを入力>
Enter the netmask address to configure:<ネットマスクを入力>
Enter the gateway address to configure:<ゲートウェイを入力>
Plumbing the IPs now
Restarting the network
Shutting down interface bond0: [ OK ]
Shutting down interface bond1: [ OK ]
Shutting down interface bond2: [ OK ]
Shutting down interface eth0: [ OK ]
Shutting down interface eth1: [ OK ]
Shutting down interface eth8: [ OK ]
Shutting down interface eth9: [ OK ]
Shutting down interface xbond0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface bond0: [ OK ]
Bringing up interface bond1: [ OK ]
Bringing up interface bond2: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth1: [ OK ]
Bringing up interface xbond0: [ OK ]


設定したIPアドレスをもとに、SCP等を使ってzipファイルをOracle Database Applianceのノード1に転送します。転送先は任意のディレクトリで構いませんが、今回は/tmpとします。転送が完了したらzipファイルを解凍します。解凍には専用のコマンドが用意されており、自動的に各ファイルが最適な場所に配置されます。

ノード1のrootユーザで実行
# /opt/oracle/oak/bin/oakcli unpack -package /tmp/<zipファイル名>


Oracle Database Applianceはデフォルトでテキストログインになっているため、GUIであるOracle Appliance Managerを表示することができません。startxコマンドでX Window Systemを起動します。

ノード1のrootユーザで実行
# startx


X Window Systemの画面に切り替わったら、Oracle Appliance Managerを起動します。

ノード1のrootユーザで実行
# /opt/oracle/oak/bin/oakcli deploy


Oracle Appliance Managerは全部で8~12ステップに分かれており、表示される画面に従って情報を入力していきます。まずはじめに『Welcome to Oracle Appliance Manager』の画面が表示されます。『Next』をクリックします。

Welcome

Welcome

『Configuration Type』が表示されます。Typicalが推奨となっていますが、Customを選択することで、追加のネットワーク・インターフェースやNTPサーバーなど細かい設定が可能になります。今回は『Custom』を選択し、『Next』をクリックします。

Configuration Type

Configuration Type

『System Information』が表示されます。システム名や地域、データベースのタイプなどの情報を入力します。今回はRACを選択し、『Next』をクリックします。

System Name ホスト名などの元情報となるシステム名を入力します。
Region , Timezone 地域とタイムゾーンを選択します。
Database Deployment データベースのタイプを選択します。
RAC、RAC One Node、シングル・インスタンスの3つから選択できます。
Database Backup Location データベースのバックアップ取得方法を選択します。
どちらを選択するかによって、Oracle Database Applianceの共有ディスク内に確保されるバックアップ用領域のサイズが変わります。
-Local・・・バックアップを共有ディスク内に取得することを想定
       バックアップ用領域のサイズを大きめに確保(2.4TB)
-External・・バックアップを共有ディスク外に取得することを想定
        バックアップ用領域のサイズを小さめに確保(0.8TB)


System Information

System Information

『Generic Network』が表示されます。ドメイン名やDNSサーバー、NTPサーバーの情報を入力します。ドメイン名以外は入力しなくても構いません。今回はドメイン名のみ入力し、『Next』をクリックします。

Domain Name ドメイン名を入力します。
DNS Servers DNSサーバーのIPアドレスを入力します。
NTP Servers NTPサーバーのIPアドレスを入力します。
11g Release1以前のRACでは、ノード間の時刻同期を行うためNTPサーバーが必要でしたが、11g Release2ではCluster Time Synchronization Service(CTSS)という時刻同期のデーモンがあるため、NTPサーバーは必須ではありません。


Generic Network

Generic Network

『Public Network』が表示されます。IPアドレスやネットマスクなど、ネットワークに関する情報を入力します。ホスト名は先ほど指定した『System Name』をもとに自動的に入力され、IPアドレスも自動的に連番になりますが、任意の値に変更することができます。入力が完了したら『Next』をクリックします。

Public パブリック・ネットワークのIPアドレスを入力します。
VIP RAC用の仮想IPアドレスを入力します。
SCAN 11g Release2の新機能であるSingle Client Access Name(SCAN)用のIPアドレスを入力します。DNSサーバーが存在しない場合は1つのアドレスのみ入力可能です。
ILON サーバーの管理、監視を行うOracle Integrated Lights Out Manager (ILOM)用のIPアドレスを入力します。


Public Network

Public Network

『Other Network』が表示されます。バックアップなどのオプション用途で使用するネットワークのIPアドレスやネットマスクを入力します。今回は未入力のままとし、『Next』をクリックします。

Other Network

Other Network

『Database Information』が表示されます。データベース名やキャラクタ・セットなどの情報を入力し、『Next』をクリックします。

Database Name データベース名を入力します。
Database Class データベースの規模を選択します。
Very Small、Small、Medium、Large、Very Largeの5つから選択できます。どれを選択するかによって、割り当てられるメモリやオンラインREDOログ・ファイルのサイズなどが変更されます。
Database Block Size データベースのブロック・サイズを選択します。
Database Characterset データベースのキャラクタ・セットを選択します。
Database Territory 国や地域を選択します。

Database Information

Database Information

『ASR Information』が表示されます。Oracle Automatic Service Request(ASR)は、特定のハードウェア障害を検知した際に、自動的にオラクルサポートへの連絡(サービス・リクエストの登録)を行う機能です。ASRを使用する場合は、ここでプロキシ・サーバーの情報やMy Oracle Supportのユーザ名とパスワードを入力します。今回は未入力のまま『Next』をクリックします。

ASR Information

ASR Information

『CloudFS Information』が表示されます。Cloud File System(CloudFS)とは、複数のノードから同時にアクセスできるファイルシステムで、スナップショットやレプリケーションの機能を備えています。CloudFSを使用する場合は、マウント・ポイントとサイズを入力します。今回はデフォルトのままとし、『Next』をクリックします。

CloudFS Information

CloudFS Information

『Summary』が表示されます。ネットワークやデータベースの情報が正しいことを確認し、『Install』をクリックします。『Save』をクリックすると、設定内容をテンプレートとして保存することもできます。

Summary

Summary

インストールが開始されます。進捗状況がパーセンテージで表示されます。2時間ほどでインストールが完了します。インストールが完了したら、『Next』をクリックします。

Install progress

Install progress

『Complete』が表示されたら、『Close』をクリックしてOracle Appliance Managerを終了します。これでRACのインストールやデータベースの作成が全て完了しました。

Complete

Complete

いかがでしょうか?Oracle Appliance Managerさえ起動してしまえば、画面に沿って進めていくだけなので非常に簡単ですね。通常はRACのインストールだけでも数日かかりますが、Oracle Database Applianceではベストプラクティスに基づいたRACが2時間で構築できてしまいます。

「どれくらい簡単なのか試してみたい!」という方は、Oracle Technology Network(OTN)からOracle Appliance Managerをダウンロード してください。デモ感覚で実際に操作することが可能です。

Oracle Appliance Managerダウンロード

Oracle Appliance Managerダウンロード

次回はOracle Database Applianceの検証結果を解説します。


連載記事

はじめましてOracle! Vol.1
はじめましてOracle! Vol.2
はじめましてOracle! Vol.4
はじめましてOracle! Vol.5
はじめましてOracle! Vol.6


執筆者のご紹介

アシスト岸和田 隆

岸和田 隆
ビジネスインフラ技術本部

1995年入社。Oracle Database の研修講師、フィールドサポート、新バージョンの検証を経て、2007年 自社ブランド「DODAI」の準アプライアンス製品の企画・開発、2009年 PostgreSQL、2011年 EDB Postgres、MySQL /MariaDB、2012年 Oracle Database Appliance、2016年 Delphix の事業立上を経験。 現在は「データベースのアシスト」を目指した事業戦略やプロダクトマーケティングを担当している。
趣味:フットサル、ゴルフ、スキー、キャンプ、子供のサッカーチームのカメラマン担当。

アシスト関 俊洋

関 俊洋
ビジネスインフラ技術本部

2006年入社。データベース・システムの構築や運用トラブルの解決といった業務を経験し、その後新製品の検証やソリューションの立ち上げを経てエバンジェリストへ。2016年にクラウド事業を立ち上げ、現在はクラウドとデータベースの二足の草鞋を履いている。

本記事をご覧いただいている方へのご案内

最後までご覧いただきありがとうございました。
本記事でご紹介した製品・サービスに関するコンテンツをご用意しています。また、この記事の他にも、IT技術情報に関する執筆記事を多数公開しておりますのでぜひご覧ください。


関連している記事

  • DB(Oracle Database)
2019.09.18

超入門「PL/SQL」

Oracle Database向けにデータベース言語 SQLを拡張したプログラミング言語であるPL/SQLを理解し、活用していくための実践講座です。

  • DB(Oracle Database)
2019.01.29

Oracleサポート出張所

Oracle Databaseで発生するトラブルを「どんな方法で」「どのように」解決していくか。データベースの運用管理において、より円滑に業務を進めるために必要なノウハウを紹介していきます。

  • DB(Oracle Database)
  • DB(その他)
2019.01.28

ゼロからのリレーショナルデータベース入門

データベースに対する敷居を少しでも低くするために、初心者の方に必要なデータベースの基本から、障害対策やチューニングといった実践に即した内容までを幅広く解説していきます。

ページの先頭へ戻る