RAC の可用性と拡張性を体験しよう!
Oracle RAC 11g R2 の新機能ハンズオン 日本オラクル株式会社 テクノロジー製品事業統括本部 技術本部 基盤技術部 シニアエンジニア 伊藤 勝一 2011年11月10日
Copyright© 2011, Oracle. All rights reserved. 2
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
Copyright© 2011, Oracle. All rights reserved. 3
• 仮想マシンの追加方法
• RAC 概要 とハンズオン環境のご紹介
• 新機能ハンズオン
1. RAC データベースへの接続 : SCAN 接続、EM への接続
2. サービスの基本操作 (作成・開始・停止・削除)
3. ディスク・グループへディスク追加 (ASM の動的リバランシング)
4. Oracle ASM Cluster File System (ACFS) の作成
5. RAC データベースの拡張と縮退 (サーバー・プールの属性変更)
6. In-Memory Parallel Execution (IMPX) の実行
7. インスタンス・ケージングによるリソース制御
8. Transparent Application Failover (TAF) の動作確認
9. 高可用性 IP (HAIP) の動作確認
• まとめ
Agenda
Copyright© 2011, Oracle. All rights reserved.
仮想マシンの追加要件
• 本ハンズオンシナリオでは、構成済みの RAC 環境を用いて実施します。RAC 環境用仮想マシンを追加するには、以下の環境をご用意ください
• Oracle VM VirtualBox 4.1.4 以上がインストールできる
Windows OS 環境であること
• 8GB 以上のメモリが搭載されていること
• C ドライブに 50 GB 以上空き容量があること
• Windows OS 上から利用可能である CPU 数が 4 つ以上であること
• 本ハンズオンシナリオ用の RAC 環境は、DNS サーバーが必要です。RAC 用の仮想マシン
(H5_rac-node1、 H5_rac-node2)とともに DNSサーバー用の仮想マシン(dns)も提供します
4
Copyright© 2011, Oracle. All rights reserved.
VirtualBox : 仮想マシンの追加方法(1/5)
1. Oracle VM VirtualBox をインストールします
ソフトウェアは以下からダウンロード可能です
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
2. ダウンロードしたファイルを
次のように配置します
C ドライブ直下に VBox という
ディレクトリを作成し、配下に
ダウンロードしたファイルを配置
します
※ C ドライブ以外に配置した場合
は、エラーが発生します
C:¥VBox ├───dns │ dns.vbox │ dns.vdi ├───H5_rac-node1 │ H5_rac-node1.vbox │ node1.vdi ├───H5_rac-node2 │ H5_rac-node2.vbox │ node2.vdi └───shared_disk disk01.vdi disk02.vdi disk03.vdi disk04.vdi disk05.vdi disk06.vdi disk07.vdi
5
Copyright© 2011, Oracle. All rights reserved.
VirtualBox : 仮想マシンの追加方法(2/5)
3. インストール後、VirtualBox を起動します
4. [仮想マシン]タブから[追加]を選択します
6
Copyright© 2011, Oracle. All rights reserved.
5. 追加する仮想マシンの 定義ファイル(拡張子が .vbox のファイル)を選択します
例: C:¥VBox:¥H5_rac-node1¥H5_rac-node1.vbox
VirtualBox : 仮想マシンの追加方法(3/5)
7
Copyright© 2011, Oracle. All rights reserved.
6. VirtualBox マネージャー上に追加した仮想マシンが表示されることを確認します
VirtualBox : 仮想マシンの追加方法(4/5)
8
Copyright© 2011, Oracle. All rights reserved.
7. 同様の手順で、3 つ(H5_rac-node1、 H5_rac-node2、dns)の仮想マシンを追加します
VirtualBox : 仮想マシンの追加方法(5/5)
9
Copyright© 2011, Oracle. All rights reserved.
VirtualBox : 起動方法
• ホスト名を選択して「起動」をクリックするか、
ホスト名をダブルクリックすることで起動可能です
• dns をまず起動します。その後、H5_rac-node1 と
H5_rac-node2 を起動します
10
Copyright© 2011, Oracle. All rights reserved.
Active
11
RAC 概要 Real Application Clusters (RAC) とは
• Oracle9i より提供されているクラスタ技術
• 主な特徴
可用性 高速なフェイルオーバーを実現し、システム障害時のダウンタイムを最小化
拡張性 負荷の増減に応じた処理性能の最適化が可能
投資コスト 最低限必要な構成で導入でき、初期コストを抑えることが可能
リソースの有効活用により 最適な投資コストを実現
共有ディスク
Active Active Active
常に全サーバーが Active (稼働) となり、リソースを有効活用
障害によるサーバ停止があっても、サービスは
停止しない
処理量の増加に合わせ、容易に拡張可能
Copyright© 2011, Oracle. All rights reserved.
RAC / ASM の進化のステージ
Oracle Database 10g R1 Oracle9i Database R1
2001 2009 2002 2003 2004 2005 2006 2007 2008
Oracle9i Database R2
Oracle Database 11g R1
Oracle Database 11g R2
単一データベースサービスの可用性と拡張性
複数データベースサービスの統合 / ストレージの仮想化
Grid Infrastructure
Oracle Database 10g R2
RAC
Oracle Clusterware
ASM RAC
Clusterware
年
ストレージを仮想化
複数データベースサービスをインスタンス個別に配置
各データベースサービスに与えるリソース量を指定
単一データベースサービスを配置
複数サーバープール間のリソース移動
RAC RAC
ASM
Oracle Clusterware
2010 2011
12
Copyright© 2011, Oracle. All rights reserved. 13
ハンズオン環境 使用ソフトウェア
• 本日のハンズオンで使用しているソフトウェア
Database Oracle Database 11g Release 2 (11.2.0.3)
Patch Set 2
Clusterware Oracle Database 11g Release 2 (11.2.0.3)
Patch Set 2 Grid Infrastructure
OS Oracle Linux 5 Update 7 x86-64
仮想化ソフトウェア
Oracle VM VirtualBox 4.1.4
Copyright© 2011, Oracle. All rights reserved.
• VirtualBox を使用し、各ノート PC に 2 VM を構築
ハンズオン環境 ご使用いただくハンズオン環境の構成 (1)
14
パブリック・ネットワーク
DNS サーバー
Oracle ASM による管理
/dev/sdb1 3GB : OCR、投票ディスク、DB 用
/dev/sdc1 3GB : OCR、投票ディスク、DB 用
/dev/sdd1 3GB : OCR、投票ディスク、DB 用
/dev/sde1 3GB : Fast Recovery Area 用
/dev/sdf1 3GB : Fast Recovery Area 用
/dev/sdg1 3GB : Fast Recovery Area 用
/dev/sdh1 3GB : 機能体験用
OCR / 投票ディスク、DB 用 機能体験用
ディスク・グループ:DATA
SCAN の IP アドレスを 解決するために使用
SCAN 名: scan.oracle11g.jp
FRA 用
ディスク・グループ:FRA
OS ( OL 5.7)
RACインスタンス
ASM インスタンス
Oracle Clusterware
共有ディスク
ノート PC
各受講者は 2 VM を使用して RAC を構築
Copyright© 2011, Oracle. All rights reserved.
• 仮想マシンと OS ユーザーの情報
本環境はすでに 2 ノード RAC を構築済みです。(詳細は次ページを参照)
各ソフトウェアとインストールした OS ユーザー
• Grid Infrastructure - grid ユーザー
• Oracle Database - oracle ユーザー
ハンズオン環境 ご使用いただくハンズオン環境の構成 (2)
15
仮想マシン名 用途 IP アドレス(名前) OS ユーザー名/パスワード
node1.oracle11g.jp RAC 用
ノード 1
192.168.56.101 (node1)
192.168.56.111(node1-vip)
root/oracle11gr2
grid/grid
oracle/oracle
node2.oracle11g.jp RAC 用
ノード 2
192.168.56.102 (node2)
192.168.56.112(node2-vip)
root/oracle11gr2
grid/grid
oracle/oracle
dns.oracle11g.jp DNS 用 192.168.56.200(dns) root/oracle11gr2
Copyright© 2011, Oracle. All rights reserved.
• Grid Infrastructure、Database の情報
ハンズオン環境 ご使用いただくハンズオン環境の構成 (3)
16
項目 値
Oracle ホーム(Grid Infrastructure) /u01/app/11.2.0/grid
Oracle ホーム(Oracle Database) /u01/app/oracle/product/11.2.0/dbhome_1
ネットワークインターフェース
eth0: 192.168.56.0 (パブリック)
eth1: 192.168.100.0 (プライベート)
eth2: 192.168.200.0 (プライベート)
SCAN 名 / SCAN ポート番号 scan.oracle11g.jp / 1521
データベース名 orcl
構成タイプ ポリシー管理型
サーバー・プール名 srvpool1
機能体験用スクリプト配置場所 /opt/handson/rac
データベースの ユーザー名 / パスワード
ASM -- SYS、ASMSNMP
DB -- SYS、SYSTEM、SYSMAN、DBSNMP
すべてのユーザーのパスワードは Manager1
Copyright© 2011, Oracle. All rights reserved.
•ハンズオンを実施いただく前に行う作業
1. 次の順で仮想マシンを起動
1. dns
2. H5_rac-node1
3. H5_rac-node2
2. Enterprise Manager Database Control を起動
• H5_rac-node1、 H5_rac-node2 に oracle ログインし、各ノードで
次のコマンドを実行
• Grid Infrastrucuture、Oracle RAC Database は OS 起動時に自動で起動します
ハンズオン環境 ご使用いただくハンズオン環境の構成 (4)
17
[oracle@node1 ~]$ emctl start dbconsole
[oracle@node2 ~]$ emctl start dbconsole
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
新機能
ハンズオン 1
RAC データベースへの接続 : SCAN 接続、EM への接続
18
Copyright© 2011, Oracle. All rights reserved.
1. RAC データベースへの接続 Single Client Access Name (SCAN)
• 11g Release 2 より、RAC データベースへの接続は
Single Client Access Name (SCAN) を使用
接続に必要な情報 (従来)
接続に必要な情報 (11g Release 2)
CRM
SC
AN
HR
MAIL BATCH
SCAN が各サービスへの接続を自動的にリダイレクト
• VIP1, VIP2, VIP3
•ポート番号
•サービス名
接続時フェイルオーバーもしくは、ロード・バランシング機能を利用する場合は、VIP を複数
指定
• SCAN 名
•ポート番号
•サービス名
19
Copyright© 2011, Oracle. All rights reserved.
1. RAC データベースへの接続 データベースへの接続方法の比較
LISTENER1 LISTENER2 LISTENER3 LISTENER4
tnsnames.ora に接続文字列を定義
SCAN VIP1
SCAN LISTENER1
SCAN VIP2
SCAN LISTENER2
SCAN VIP3
SCAN LISTENER3
EZCONNECT
従来の接続 (VIP) SCAN
SERVICE_A
VIP1
LISTENER1
VIP2
LISTENER2
VIP3
LISTENER3
VIP4
LISTENER4
SERVICE_A
接続に必要な情報 (従来) 接続に必要な情報 (11g Release 2)
※SCAN を使用した場合の接続形態には従来どおり tnsnames.ora を使用することも可能
• SCAN 名
• ポート番号
• サービス名
• VIP1, VIP2, VIP3, VIP4
• ポート番号
• サービス名
VIP1 VIP2 VIP3 VIP4
20
Copyright© 2011, Oracle. All rights reserved.
1. RAC データベースへの接続 SCAN 接続
• インストール後に以下のコマンドを実行し、SCAN を使用した
SQL*Plus での接続を確認
[oracle@node1 ~]$ sqlplus system/[email protected]:1521/orcl
<接続例>
[oracle@node1 ~]$ sqlplus system/[email protected]:1521/orcl
SQL*Plus: Release 11.2.0.3.0 Production on 火 11月 1 09:36:22 2011
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options
に接続されました。
SQL>
<SCAN 名>:<ポート名>/<サービス名>
SCAN を使用した SQL*Plus からの接続 1
21
Copyright© 2011, Oracle. All rights reserved.
1. RAC データベースへの接続 EM への接続
• ブラウザから Enterprise Manager DB Control のアドレスを入力
https://node1.oracle11g.jp:1158/em/
Enterprise Manager Database Control への接続 2
22
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
サービスの基本操作
(作成・開始・停止・削除)
新機能
ハンズオン 2
23
Copyright© 2011, Oracle. All rights reserved.
2. サービスの基本操作 サービスを使用してクライアントから接続
クライアントは「SERVICE_NAME」 を指定して接続
• Oracle クライアントは 「サービス」 に対して接続
• Oracle クライアントは RAC のノード数の考慮が不要
(DESCRIPTION = (ADDRESS=(PROTOCOL=TCP) (HOST=host_name) (PORT = port ) )
(CONNECT_DATA= (SERVICE_NAME=SERVICE_A ) ) )
接続するサービス名と Oracle リスナーが稼動している アドレス情報 ( ホスト名、port 番号等 ) を記述
11g R2 では SCAN リスナーのアドレス情報を指定して接続が可能
SERVICE_A
SERVICE_B
24
Copyright© 2011, Oracle. All rights reserved.
2. サービスの基本操作 サービスを利用したワークロード管理
RAC
ユーザが意識しなくてもワークロードを均等分散
売上分析
サービス
⇒ サーバー1 サーバー2 サーバー3
ユーザーが意識しなくても各サーバへの
ワークロード(負荷)を均等に分散する
25
Copyright© 2011, Oracle. All rights reserved.
受発注処理
売上分析
会計業務
2. サービスの基本操作 柔軟にサービスを再構成可能
• サービスに対する負荷の増減によって、
サービスを提供するインスタンスの数を柔軟に変更可能
サービスごとの優先度の管理と動的再構成
26
Copyright© 2011, Oracle. All rights reserved.
2. サービスの基本操作 作成・開始・停止・削除
[oracle@node1 ~]$ srvctl add service -d <db_unique_name> -s <service_name> -g <pool_name>
• サービスの作成 (ポリシー管理データベースの場合)
• サービスの開始
• サービスの停止
• サービスの構成確認
• サービスの状態確認
• サービスの削除
[oracle@node1 ~]$ srvctl stop service -d <db_unique_name> -s <service_name>
[oracle@node1 ~]$ srvctl config service -d <db_unique_name> -s <service_name>
[oracle@node1 ~]$ srvctl status service -d <db_unique_name> -s <service_name>
[oracle@node1 ~]$ srvctl start service -d <db_unique_name> -s <service_name>
[oracle@node1 ~]$ srvctl remove service -d <db_unique_name> -s <service_name>
27
Copyright© 2011, Oracle. All rights reserved.
参考 : RAC データベースの基本操作 : 開始・停止・構成と状態確認
[oracle@node1 ~]$ srvctl start database -d <db_unique_name>
• データベース・リソースの開始
• データベース・リソースの停止
• データベース・リソースの構成確認
• データベース・リソースの状態確認
[oracle@node1 ~]$ srvctl stop database -d <db_unique_name>
[oracle@node1 ~]$ srvctl config database -d <db_unique_name>
[oracle@node1 ~]$ srvctl status database -d <db_unique_name>
28
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
ディスク・グループへディスク追加
(ASM の動的リバランシング)
新機能
ハンズオン 3
29
Copyright© 2011, Oracle. All rights reserved.
• ストライピング • ディスク・グループ内の、全てのディスクで
ストライピング(ホットスポットが発生しない)
性能の維持
• ミラーリング • ファイルタイプに応じて、Oracle レベルで
ミラーリング(2重化 / 3重化 / ミラー無し)
可用性の担保
• 動的リバランシング • ディスクの追加 / 削除時に
自動的にデータを再配置
拡張性
3. ディスク・グループへディスク追加 ASM による全体最適化機能
1 2 3 1(ミラー) 2 (ミラー) 3 (ミラー)
1‟ 2‟
1‟(ミラー) 2‟(ミラー)
1‟ 4‟ (ミラー)
2‟ 1‟ (ミラー)
3‟´ 2‟(ミラー)
4‟ 3‟ (ミラー)
ディスク追加
ディスク削除
再配置
再配置
1 2 3 4 1(ミラー) 2 (ミラー) 3 (ミラー) 4 (ミラー)
ファイル
ディスク・グループ
2 1 4 3
ディスク・グループ
ファイル1 ファイル2
ファイル3
30
Copyright© 2011, Oracle. All rights reserved.
3. ディスク・グループへディスク追加 操作概要 : ASM 動的リバランシング
ディスク・グループにディスクを追加した際の動作確認の流れ(例)
ディスク追加後のデータ配置を確認 3 3
ディスク追加後の
データ配置は?
ディスク・グループの構成とデータ配置の確認 1
1 構成確認
ASM なら、ディスク・グループの構成変更時にも動的にリバランシングを実行
ディスク・グループDATAにディスクを追加 2
ディスクの追加
2
DATA
• 既存のディスク・グループ(DATA)に、ディスクを追加して動的リバランシング(データの再配置)が実施される様子を確認
31
Copyright© 2011, Oracle. All rights reserved. 32
3. ディスク・グループへディスク追加Enterprise Manager DB Control へログイン
https://node1.oracle11g.jp:1158/em/
Enterprise Manager へログイン 1
ユーザー名 „sys‟ および パスワード „Manager1‟ を入力し、 接続モード „SYSDBA‟ で ログイン
ログイン後「クラスタ・データベース」 画面が表示される
Copyright© 2011, Oracle. All rights reserved. 33
3. ディスク・グループへディスク追加 自動ストレージ管理画面への遷移
自動ストレージ管理画面への遷移 2
EM DB Control ログイン後に表示される「クラスタ・データベース」画面下部の 「インスタンス」にある
ASM インスタンス名のリンクから自動ストレージ管理画面
へ遷移
「クラスタ・データベース」画面抜粋
「ディスク・グループ」タブをクリック
Copyright© 2011, Oracle. All rights reserved. 34
3. ディスク・グループへディスク追加 ASM ディスク・グループの選択
ディスクを追加するディスク・グループの選択 3
ディスク追加を実施するディスク・グループを選択(「名前」列のリンクをクリックして詳細画面へ遷移)
今回は DATA を選択
ユーザー名 „sys‟ および パスワード „Manager1‟ を入力し、 接続モード „SYSASM‟ で ログイン
Copyright© 2011, Oracle. All rights reserved. 35
3. ディスク・グループへディスク追加 メンバー・ディスクの確認
メンバー・ディスクの確認 4 ディスク・グループの詳細画面から現在のディスク・グループの使用量などを確認
「メンバー・ディスク」から使用しているディスクを確認し、追加を実施する場合は「追加」ボタンをクリック
Copyright© 2011, Oracle. All rights reserved. 36
3. ディスク・グループへディスク追加 ASM ディスク・グループへディスクの追加を実行
ディスクの追加 5
「候補メンバー・ディスク」から追加するディスクを選択 「OK」ボタンをクリック
すると追加が開始
Copyright© 2011, Oracle. All rights reserved. 37
3. ディスク・グループへディスク追加 ASM の動的リバランシングの確認
動的リバランシングの確認(方法1) 6
ディスクは正常に追加 動的にリバランシング が実行
REBALANCE
Copyright© 2011, Oracle. All rights reserved. 38
3. ディスク・グループへディスク追加 ASM の動的リバランシングの確認
動的リバランシングの確認(方法2) 6
「保留中の操作」から動的リバランシングの進行度合いを確認することも可能
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
Oracle ASM Cluster File System(ACFS) の作成
39
新機能
ハンズオン 4
Copyright© 2011, Oracle. All rights reserved.
4. ACFS の作成 Oracle ASM Cluster File System (ACFS) とは
• 拡張性に優れた汎用ファイルシステム
• NAS プロトコル(NFS、CIFS)でアクセス可能
• マルチ OS プラットフォーム
• 読み取り専用スナップショットをサポート
• 動的なボリューム管理をサポート
全てのデータを ASM で管理可能に
ASM に配置可能なファイル
• データベースのデータファイル
• アーカイブ REDO ログファイル
• RMAN バックアップファイル
• Data Pump ダンプファイル
ACFS に配置可能なファイル
(ASM に配置不可のファイル)
• アプリケーション
• DB のアラートログ、トレースファイル
• DB Home
• テキストおよび、バイナリファイル
(映像、音声など)
11g Release 1 まで
11g Release 2
40
Copyright© 2011, Oracle. All rights reserved.
• 既存のディスク・グループ(DATA)よりボリュームを切り出し、ACFS の領域として設定
• 全ノードから利用可能な汎用ファイルシステムとして利用
4. ACFS の作成 操作概要
ACFS の作成の動作確認の流れ(例)
ボリューム・デバイスのマウント 3
ACFS の作成状況の確認 1
1 作成状況の確認
ACFS は、必要なボリューム・デバイスの選択により、自由に構成できる
ASM ボリューム・デバイスの作成 2
ボリューム・デバイスの作成 2
DATA
ボリューム・デバイスのマウント 3
ACFS
ACFS
41
Copyright© 2011, Oracle. All rights reserved. 42
4. ACFS の作成 ACFS の作成状況を確認
ACFS の作成状況を確認 1
「自動ストレージ管理」画面からの「ASM クラスタ・ファイルシステム」タブをクリック
「作成」ボタンをクリックし新規作成を実施
既存の ACFS はなく表示されていない
Copyright© 2011, Oracle. All rights reserved. 43
4. ACFS の作成 ASM ボリュームの作成
ボリューム・デバイスの作成 2
「ASM ボリュームの作成」ボタンから新規作成を実施
ボリューム名、ディスク・グループ、サイズを指定
「OK」ボタンをクリックすると作成を開始
Copyright© 2011, Oracle. All rights reserved. 44
4. ACFS の作成 ACFS の作成
ACFS の作成 3
ボリュームが作成されたことを確認
マウント・ポイントを入力して ACFS のマウント場所 „/opt/acfsmount/acfs‟ を指定
ACFS の作成に使用するボリューム・デバイスを確認
クリックして ACFS の作成を開始
Copyright© 2011, Oracle. All rights reserved. 45
4. ACFS の作成 ACFS 作成後の確認
作成後の確認 4
ACFS のステータスを確認
ACFS が作成されたことを確認
ACFS の操作を実行する OS ユーザー名 „grid‟ および
パスワード „grid‟ を 入力してログイン
Copyright© 2011, Oracle. All rights reserved. 46
4. ACFS の作成 ACFS 作成後の確認
作成後の確認 5
作成直後は「状態」がディスマウントと表示されるので、画面をリフレッシュして ACFS
がマウント済であることを確認
Copyright© 2011, Oracle. All rights reserved.
4. ACFS の作成 作成した ACFS の利用
[grid@node1 ~]$ cd /opt/acfsmount/acfs/
[grid@node1 acfs]$ ls -l
合計 64
drwx------ 2 root root 65536 11月 1 12:05 lost+found
grid ユーザーで各ノードにログインし、作成した ACFS の領域を確認 1
• 操作は grid ユーザーで実行
• 各ノードでの操作 / 出力例は、それぞれ 、 として区別
node1
node2 [grid@node2 ~]$ cd /opt/acfsmount/acfs/
[grid@node2 acfs]$ ls -l
合計 64
drwx------ 2 root root 65536 11月 1 12:05 lost+found
node1 node2
node1、node2 とも領域のみ作成されている状態であることを確認
47
Copyright© 2011, Oracle. All rights reserved.
4. ACFS の作成 作成した ACFS の利用
テキストファイルの作成 2
[grid@node1 acfs]$ touch test.txt [grid@node1 acfs]$ ls –l 合計 64
drwx------ 2 root root 65536 11月 1 12:05 lost+found
-rw-r--r-- 1 grid oinstall 0 11月 1 14:41 test.txt
node1
node2 [grid@raca-node1 acfs]$ ls –l 合計 64
drwx------ 2 root root 65536 11月 1 12:05 lost+found
-rw-r--r-- 1 grid oinstall 0 11月 1 14:41 test.txt
ACFS 領域へ touch コマンドでテキストファイルを作成
node2 から node1 で作成したテキストファイルを確認可能
48
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
RAC データベースの拡張と縮退
(サーバー・プールの属性変更)
49
新機能
ハンズオン 5
Copyright© 2011, Oracle. All rights reserved.
• 11g Release 2 で提供可能な RAC データベースの構成タイプは以下
管理者管理 従来のスタイル
RAC が稼働するサーバーは固定
Generic サーバー・プールに配置
ポリシー管理 11g Release 2 における新しいスタイル
RAC が稼働するサーバーおよびインスタンスは動的
クラスタを構成する全ノードが稼働候補の対象
RAC を配置するサーバー・プールを作成
5. RAC データベースの拡張と縮退 RAC データベースの構成タイプ
11.2 New
ユーザー定義サーバー・プール
サービス
サービス
RAC データベース
RAC データベース
50
Copyright© 2011, Oracle. All rights reserved.
5. RAC データベースの拡張と縮退 サーバー・プール
• Oracle Clusterware 配下のサーバーを管理する論理的グループ
• クラスタ内に複数作成することが可能
• サーバー・プール間は排他的
• 1 つのサーバーは特定のサーバー・プールにのみ配置可能
• クラスタを異なるワークロードで分離
サーバー・プール APPS サーバー・プール RACDB
RAC データベース Application
サーバー・プール Free
排他的
Oracle Grid Infrastructure
Oracle Clusterware
ポリシー
最小数 : 3
最大数 : 3
重要度 : 20
ビジネス要件に従って、
ポリシーを定義
51
Copyright© 2011, Oracle. All rights reserved.
1. 5 ノードのクラスタ環境を構築
5. RAC データベースの拡張と縮退 ポリシー管理 RAC データベースの活用例
Free プール: 障害/拡張用のサーバーを配置するためのサーバー・プール
Free Generic
52
Copyright© 2011, Oracle. All rights reserved.
Free
1. 5 ノードのクラスタ環境を構築
2. RAC データベースを配置するサーバー・プールを作成
5. RAC データベースの拡張と縮退 ポリシー管理 RAC データベースの活用例
サーバー・プールの設定 最小数 : 0 (デフォルト) 最大数 : 4 重要度 : 0 (デフォルト)
Free サーバー・プール 1 Generic
Free プール: 障害/拡張用のサーバーを配置するためのサーバー・プール
53
Copyright© 2011, Oracle. All rights reserved.
1. 5 ノードのクラスタ環境を構築
2. RAC データベースを配置するサーバー・プールを作成
3. RAC データベースを作成し、サービスも作成
障害時は Free プールから動的にサーバーを割り当て
5. RAC データベースの拡張と縮退 ポリシー管理 RAC データベースの活用例
Free サーバー・プール 1
人事サービス
会計サービス
物流サービス
RAC データベース
Generic
Free プール: 障害/拡張用のサーバーを配置するためのサーバー・プール
54
Copyright© 2011, Oracle. All rights reserved.
Free サーバー・プール 1
人事サービス
会計サービス
物流サービス
RAC データベース
1. 5 ノードのクラスタ環境を構築
2. RAC データベースを配置するサーバー・プールを作成
3. RAC データベースを作成し、サービスも作成
障害時は Free プールから動的にサーバーを割り当て
4. サーバー・プールの設定を変更
RAC データベースおよびサービスが自動的に拡張される
5. RAC データベースの拡張と縮退 ポリシー管理 RAC データベースの活用例
サーバー・プールの設定 最小数 : 0 (デフォルト) 最大数 : 4 重要度 : 0 (デフォルト)
サーバー・プールの設定 最小数 : 0 (デフォルト) 最大数 : 4 → 5 重要度 : 0 (デフォルト)
Free サーバー・プール 1
RAC データベース
人事サービス
物流サービス
会計サービス
Generic
Free プール: 障害/拡張用のサーバーを配置するためのサーバー・プール
55
Copyright© 2011, Oracle. All rights reserved.
5. RAC データベースの拡張と縮退 操作概要 : サーバープールの属性変更
• ユーザー定義サーバー・プール (srvpool1) の属性を変更し、ポリシー管理 RAC データベース orcl の拡張・縮退動作を確認
サーバー・プールの属性変更の流れ(例)
srvpool1 の構成を確認 1
srvpool1 の最大値を変更(2 → 1) 2
srvpool1 の最大値を変更(1 → 2) 3
サーバー・プールの属性(最大値)の変更に応じて RAC データベースが縮退、あるいは
拡張される
※ データベースのサービスが構成されている場合はサービスも同時に縮退、あるいは拡張される
サーバー・プール srvpool1
RAC データベース: orcl
ポリシー
最小数 : 0
最大数 : 2
重要度 : 0
サーバー・プール Free サーバー・プール srvpool1
orcl
ポリシー
最小数 : 0
最大数 : 2 → 1
重要度 : 0
サーバー・プール Free サーバー・プール srvpool1
RAC データベース: orcl
ポリシー
最小数 : 0
最大数 : 1 → 2
重要度 : 0
サーバー・プール Free
56
Copyright© 2011, Oracle. All rights reserved.
• oracle ユーザーでログインしたターミナルを用意
5. RAC データベースの拡張と縮退 事前準備
[oracle@node1 ~]$
操作を実行するターミナルの準備 1
• 本操作は、サーバー管理ユーティリティ (srvctl) コマンドを使用して実施 コマンドは oracle ユーザーで実行
• コマンドの実行例および出力例は次ページより紹介
• 本資料の実行環境
データベース: 2 ノードのポリシー管理型 RAC データベース
データベース名: orcl
サーバー・プール名: srvpool1
57
Copyright© 2011, Oracle. All rights reserved.
• 現在のサーバー・プールの構成、およびデータベースの稼働状態を確認
• 以下はデータベースの稼働状態の確認例
5. RAC データベースの拡張と縮退 状態の確認 (データベースの稼働)
[oracle@node1 ~]$ srvctl status database -d orcl
インスタンスorcl_1はノードnode1で実行中です。
インスタンスorcl_2はノードnode2で実行中です。
状態の確認 2
データベース・インスタンス(orcl_1, orcl_2)が稼働中であることを確認
サーバー・プール srvpool1
orcl_1 orcl_2
58
Copyright© 2011, Oracle. All rights reserved.
• 続いてサーバー・プールの構成状態(サーバーの割り当て)を確認
5. RAC データベースの拡張と縮退 状態の確認 (サーバー・プールの構成①)
[oracle@node1 ~]$ srvctl status srvpool -a
サーバー・プール名: Free アクティブ・サーバー数: 0 アクティブ・サーバー名:
サーバー・プール名: Generic アクティブ・サーバー数: 0 アクティブ・サーバー名:
サーバー・プール名: srvpool1 アクティブ・サーバー数: 2 アクティブ・サーバー名: node1,node2 NAME=node1 STATE=ONLINE NAME=node2 STATE=ONLINE
srvpool1 に 2 台のサーバーが割り当てられていることを確認
59
Copyright© 2011, Oracle. All rights reserved.
• 続いてサーバー・プールの構成状態(サーバー・プールの属性)を確認
5. RAC データベースの拡張と縮退 状態の確認 (サーバー・プールの構成②)
[oracle@node1 ~]$ srvctl config srvpool
サーバー・プール名: Free 重要度: 0、最小: 0、最大: -1 候補サーバー名:
サーバー・プール名: Generic 重要度: 0、最小: 0、最大: -1 候補サーバー名:
サーバー・プール名: srvpool1 重要度: 0、最小: 0、最大: 2 候補サーバー名:
srvpool1 のポリシー属性として、 最大値 2 が設定されていることを確認
60
Copyright© 2011, Oracle. All rights reserved.
• サーバー・プール (srvpool1) の最大値を 2 から 1 へ変更
5. RAC データベースの拡張と縮退 サーバー・プールの属性変更
[oracle@node1 ~]$ srvctl modify srvpool -g srvpool1 -u 1 –f
[oracle@node1 ~]$
-u で最大数を指定
稼働しているインスタンスの停止を伴う際には、-f の強制オプションを指定
ポリシー
最小数 : 0
最大数 : 2 → 1
重要度 : 0
サーバー・プール srvpool1
orcl_1 orcl_2
サーバー・プールの属性変更が完了するまで(プロンプトが返るまで)待つ
srvpool1
orcl_2
サーバー・プールの属性変更 3
61
Copyright© 2011, Oracle. All rights reserved.
• 再度サーバー・プールの構成、およびデータベースの稼働状態を確認
• 以下はデータベースの稼働状態の確認例
5. RAC データベースの拡張と縮退 状態の確認 (データベースの稼働)
[oracle@node1 ~]$ srvctl status database -d orcl
インスタンスorcl_2はノードnode2で実行中です。
状態の確認 4
データベース・インスタンスは orcl_2 のみ稼働中であることを確認
orcl_2
srvpool1
62
Copyright© 2011, Oracle. All rights reserved.
• 続いてサーバー・プールの構成状態(サーバーの割り当て)を確認
5. RAC データベースの拡張と縮退 状態の確認 (サーバー・プールの構成①)
[oracle@node1 ~] $ srvctl status srvpool -a
サーバー・プール名: Free アクティブ・サーバー数: 1 アクティブ・サーバー名: node1
NAME=node1 STATE=ONLINE サーバー・プール名: Generic アクティブ・サーバー数: 0 アクティブ・サーバー名:
サーバー・プール名: srvpool1 アクティブ・サーバー数: 1 アクティブ・サーバー名: node2 NAME=node2 STATE=ONLINE
1台 Free サーバー・プールへ配置され、srvpool1 には残りの 1台のサーバー のみ配置されていることを確認
63
Copyright© 2011, Oracle. All rights reserved.
• 続いてサーバー・プールの構成状態(サーバー・プールの属性)を確認
5. RAC データベースの拡張と縮退 状態の確認 (サーバー・プールの構成②)
[oracle@node1 ~] $ srvctl config srvpool
サーバー・プール名: Free 重要度: 0、最小: 0、最大: -1 候補サーバー名:
サーバー・プール名: Generic 重要度: 0、最小: 0、最大: -1 候補サーバー名:
サーバー・プール名: srvpool1 重要度: 0、最小: 0、最大: 1 候補サーバー名:
srvpool1 のポリシー属性として、 最大値 1 が設定されていることを確認
64
Copyright© 2011, Oracle. All rights reserved.
• サーバー・プール (srvpool1) の最大値を 1 から 2 へ変更
5. RAC データベースの拡張と縮退 サーバー・プールの属性変更
[oracle@node1 ~]$ srvctl modify srvpool -g srvpool1 -u 2 [oracle@node1 ~]$
[oracle@node1 ~]$ srvctl status database -d orcl
[oracle@node1 ~]$ srvctl status srvpool -a
[oracle@node1 ~]$ srvctl config srvpool
-u で最大数を指定
ポリシー
最小数 : 0
最大数 : 1 → 2
重要度 : 0
サーバー・プール srvpool1
orcl_1 orcl_2
サーバー・プールの属性変更 5
srvpool1
orcl_2
65
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
In-Memory Parallel Execution (IMPX)
の実行
新機能
ハンズオン 6
66
Copyright© 2011, Oracle. All rights reserved.
6. In-Memory Parallel Execution(IMPX)の実行 In-Memory Parallel Execution とは
• パラレル実行時の、メモリ使用効率の最適化 • パラレルクエリーでもバッファ・キャッシュが利用可能
• バッファ・キャッシュの 80% 以内でサイズであればキャッシュされる
• それ以上の場合は、Direct Path Read で読み込まれる
• パラレル実行時、メモリ上にキャッシュされた データにアクセス • キャッシュされたデータはユーザー間で共有され、 クエリレスポンスを高速化
• メモリや CPU リソースを有効活用
QS
QC
QS
67
Copyright© 2011, Oracle. All rights reserved.
6. In-Memory Parallel Execution(IMPX)の実行 従来までの Parallel 実行による SQL の高速化
• Parallel 実行を利用することで、複数 CPU コアを活用し、処理を高速化
• データの読み込みは、バッファ・キャッシュを介さない Direct Path Read で実行
• キャッシュ管理のオーバーヘッドを排除するため
Table
PX PX PX PX
QC
QC…Query Coordinator PX …Parallel Execution Servers
Oracle Instance
Oracle Client
PX PX PX PX
68
Copyright© 2011, Oracle. All rights reserved.
6. In-Memory Parallel Execution(IMPX)の実行 In-Memory Parallel Execution によるさらなる高速化
• 物理メモリ上にキャッシュされたデータに対する Parallel 実行により、ストレージの性能限界を排除した高速処理を実現
• 近年のサーバーが搭載するメモリ量の増加に対応したアーキテクチャの変更
• 従来のアクセス方法も利用可能
Table
PX PX PX PX
QC
QC…Query Coordinator PX …Parallel Execution Servers
Oracle Instance
Oracle Client
PX PX PX PX
11.2 New
69
Copyright© 2011, Oracle. All rights reserved.
6. In-Memory Parallel Execution(IMPX)の実行 RAC 環境の In-Memory Parallel Execution の特徴
• 複数インスタンスの SGA を利用してデータをキャッシュ
• RAC 環境では、複数インスタンスのSGA を利用可能
• インスタンス全体でメモリ空間を有効活用できる
• 複数インスタンスにセグメントを分散してキャッシュ可能
Node1 Node2 Node3
+ + SGA SGA SGA
70
Copyright© 2011, Oracle. All rights reserved.
PX
QC
PX PX PX …
PX PX PX PX …
PX PX PX PX …
Buffer Cache
Buffer Cache
Buffer Cache
Node1 Node2 Node n
Node数が増えるとキャッシュ可能なデータ量も増加
キャッシュされていない場合、各Nodeに分散してデータをキャッシュ
Oracle Client
6. In-Memory Parallel Execution(IMPX)の実行 RAC 環境の In-Memory Parallel Execution の特徴
71
Copyright© 2011, Oracle. All rights reserved.
6. In-Memory Parallel Execution(IMPX)の実行 操作概要
IMPX の動作確認の流れ
2 ノードの状態にしてパラレルで検索 3
3 2 ノードで
パラレルで検索 1 ノードの状態にしてシリアルで検索
1
1
シリアルで検索
IMPX を利用することで、複数インスタンスの SGA を利用してデータをキャッシュし、
クエリレスポンスを高速化 IMPX による高速処理
自動並列度設定を有効化しパラレルで検索 2
2 1 ノードで
パラレルで検索
QS
QC
QS
パラレル実行時の、メモリ使用効率の最適化
• パラレルクエリーでもバッファ・キャッシュが利用可能で、バッファ・キャッシュ の 80% 以内でサイズであればキャッシュされる
• それ以上の場合は、Direct Path Read で読み込まれる
• シリアル実行、パラレル実行、IMPX のそれぞれの設定での検索を行った場合のレスポンス時間を確認
72
Copyright© 2011, Oracle. All rights reserved.
• /opt/handson/rac ディレクトリ下のスクリプトを実行
6. In-Memory Parallel Execution(IMPX)の実行 スクリプトの実行
[oracle@node1 ~]$ cd /opt/handson/rac/
[oracle@node1 rac]$ sqlplus /nolog @impx
In-Memory Parallel Execution (IMPX) 実行準備のためのスクリプトの実行 0
• 本操作は、今回の環境用に用意されたスクリプトを使用して実施
• IMPX 用の事前設定と検索対象のオブジェクト作成は完了済み
• DB_CACHE_SIZE パラメータが 512M に指定されていることを想定
• スクリプトは oracle ユーザーで実行
• コマンドの実行例および出力例は次ページより紹介
73
Copyright© 2011, Oracle. All rights reserved.
• 1ノードの状態で impx ユーザーで接続
6. In-Memory Parallel Execution(IMPX)の実行1 ノードの状態にしてシリアルで検索
[oracle@node1 rac]$ srvctl status database -d orcl
[oracle@node1 rac]$ srvctl stop instance -d orcl -n node2
[oracle@node1 rac]$ srvctl status database -d orcl
インスタンスorcl_1はノードnode1で実行中です。
インスタンスorcl_2はノードnode2で実行されていません。
[oracle@node1 rac]$ sqlplus impx_user/impx_user
SQL> set autot on SQL> set timi on SQL> set lines 120
SQL> select count(*) from myemp;
作成した myemp 表に対して、件数を確認する処理を実行 1
74
Copyright© 2011, Oracle. All rights reserved.
SQL> alter session set PARALLEL_DEGREE_POLICY=auto;
セッションが変更されました。
SQL> select count(*) from myemp;
• PARALLEL_DEGREE_POLICY=auto に設定
6. In-Memory Parallel Execution(IMPX)の実行自動並列度設定を有効化しパラレルで検索
自動並列度設定を有効にして、検索処理を確認 2
75
Copyright© 2011, Oracle. All rights reserved.
SQL> alter system flush buffer_cache;
システムが変更されました。
SQL> select count(*) from myemp;
• バッファ・キャッシュのデータを一旦フラッシュ (テスト目的での実行)
• 2 ノードのた状態で、myemp 表に対して検索処理を実行
6. In-Memory Parallel Execution(IMPX)の実行 自動並列度設定を有効化しパラレルで検索
2 ノードの状態にしてパラレルで検索 3
<別のターミナルで実行>
[oracle@node1 ~]$ srvctl start instance -d orcl -n node2
[oracle@node1 ~]$ srvctl status database -d orcl
インスタンスorcl_1はノードnode1で実行中です。
インスタンスorcl_2はノードnode2で実行中です。
[oracle@node1 ~]$
76
Copyright© 2011, Oracle. All rights reserved.
6. In-Memory Parallel Execution(IMPX)の実行 自動並列度設定を有効化しパラレルで検索
SQL> select count(*) from myemp;
• 再度同じ検索処理を実行して、レスポンスタイムを比較
2 ノードの状態にしてパラレルで検索 3
77
Copyright© 2011, Oracle. All rights reserved.
6. In-Memory Parallel Execution(IMPX)の実行自動並列度設定を有効化しパラレルで検索
• Enterprise Manager DB Control からも IMPX の実行状況を確認可能 • 「データベース」 タブ
「パフォーマンス」サブタブ
“その他の監視リンク” セクション SQL監視
シリアル/パラレル/インターノード・PXの実行状況が確認可能
処理に要した時間がグラフィカルに確認可能
78
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
インスタンス・ケージングによるリソース制御
新機能
ハンズオン 7
79
Copyright© 2011, Oracle. All rights reserved.
7. インスタンス・ケージングによるリソース制御 インスタンス・ケージングを利用したリソース制御
• インスタンス・ケージング
• 11g Release 2 リソース・マネージャ新機能
• サーバー・パーティショニングに代わる、より柔軟なリソース制御
• 仮想化より低い管理オーバーヘッド
• インスタンスごとの CPU 使用率を制御可能
• オンラインでの設定が可能
1. 初期化パラメータ CPU_COUNT を
インスタンスごとに設定
2. リソース・マネージャを有効化
インスタンス 1
インスタンス 2
インスタンス 3
インスタンス 4
cpu_count の合計
8
12
16
4
CPUの総数 = 16
80
Copyright© 2011, Oracle. All rights reserved.
7. インスタンス・ケージングによるリソース制御 操作概要
• 負荷をかけ CPU を使って処理を行っているインスタンス(orcl_1) に対して、インスタンス・ケージングを有効にした場合の CPU 使用率の変化を確認
orcl_1
CPU_COUNT の値
赤字が設定値
2
3
4
1
CPUの総数
= 4
orcl_1
CPU_COUNT の値
赤字が設定値
2
3
4
1
CPUの総数
= 4
最大 100% の CPU を使用 最大 25% の CPU を使用
※ CPU_CPUNT パラメータの
値は動的に変更可能
インスタンス・ケージングを有効化し、CPU_COUNT で設定された値に基づき CPU 使用率は制限される
81
Copyright© 2011, Oracle. All rights reserved.
• /opt/handson/rac ディレクトリ下のスクリプトを実行
7. インスタンス・ケージングによるリソース制御 スクリプトの実行
[oracle@node1 ~]$ cd /opt/handson/rac/
[oracle@node1 rac]$ sqlplus /nolog @ic
インスタンス・ケージングの機能確認用スクリプトの実行 1
• 本操作は、今回の環境用に用意されたスクリプトを使用して実施
• スクリプトは oracle ユーザーで実行
• スクリプト内の指示に従い操作を進行
82
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
Transparent Application Failover (TAF)
の動作確認
新機能
ハンズオン 8
83
Copyright© 2011, Oracle. All rights reserved.
8. Transparent Application Failover(TAF)の動作確認 RAC 環境のコネクションのフェイルオーバー
tnslsnr tnslsnr tnslsnr tnslsnr tnslsnr tnslsnr
Oracle
クライアント
新規コネクション確立時の障害に対する
フェイルオーバー
確立済みコネクションの障害に対する
フェイルオーバー
接続時フェイルオーバー 透過的アプリケーション・フェイルオーバー
Oracle
Instance
Oracle
Instance
Oracle
Instance Oracle
Instance
Oracle
Instance
Oracle
Instance
84
Copyright© 2011, Oracle. All rights reserved.
8. Transparent Application Failover(TAF)の動作確認 操作概要
• Transparent Application Failover (TAF)
確立済みコネクションが切断された場合、再接続を試行
再接続の試行先に接続できない場合、接続時フェイルオーバーが有効であれば別の接続先を試行
• TAF の設定をしたコネクションを利用して検索処理を実行し、検索処理中にインスタンス障害が発生した場合の挙動を確認
orcl_2
TAF の動作確認の流れ(例)
検索処理はどうなるかを確認 3
3 処理中の
検索要求は?
orcl_1 に接続し、5万件のデータを全件検索 1 1 検索要求
TAF を設定していればエラーを返すことなく接続時フェイルオーバーによって orcl_2 へ
再接続し、検索結果を返す
接続時フェィルオーバー
orcl_1
検索中に orcl_1 インスタンス障害を発生 2
2
インスタンス
停止
85
Copyright© 2011, Oracle. All rights reserved.
• /opt/handson/rac ディレクトリ下のスクリプトを実行
8. Transparent Application Failover(TAF)の動作確認 スクリプトの実行
[oracle@node1 ~]$ cd /opt/handson/rac/
[oracle@node1 rac]$ sqlplus /nolog @taf
透過的アプリケーション・フェイルオーバー(TAF)の機能確認用スクリプトの実行
1
• 本操作は、今回の環境用に用意されたスクリプトを使用して実施
• スクリプトは oracle ユーザーで実行
• スクリプト内の指示に従い操作を進行
86
Copyright© 2011, Oracle. All rights reserved.
<Insert Picture Here>
高可用性 IP (HAIP) の動作確認
新機能
ハンズオン 9
87
Copyright© 2011, Oracle. All rights reserved.
9. 高可用性 IP (HAIP) の動作確認 インターコネクトの冗長構成 : HAIP
• プライベート NIC 障害時 (インターコネクト障害時) の再起動の防止
• ネットワーク帯域の増大、ロード・バランシングとしても有効
• HAIP がプライベート NIC に割り当てられた IP アドレスとは別に稼働
HAIP は [169.254.0.0 ~ 169.254.255.255] の中で
ランダムに自動で重複しないように割り振る
node2 eth1
eth2
eth1: 192.168.1.12
eth1:1 169.254.169.230
HAIP
eth2: 192.168.101.22
eth2:1 169.254.94.159
HAIP
node1 eth1
eth2
eth1: 192.168.1.11
eth1:1 169.254.148.228
HAIP
eth2: 192.168.101.21
eth2:1 169.254.75.98
HAIP
88
Copyright© 2011, Oracle. All rights reserved.
9. 高可用性 IP (HAIP) の動作確認 インターコネクト障害時
• インターコネクト障害が発生すると正常稼働している NIC に HAIP がシームレスに移動
• その間、Clusterware 上の Database は通常稼働
node2 eth1
eth2
eth1: 192.168.1.12
eth1:1 169.254.169.230
HAIP
eth2: 192.168.101.22
eth2:1 169.254.94.159
HAIP
node1 eth1
eth2
eth1: 192.168.1.11
eth1:1 169.254.148.228
HAIP
eth2: 192.168.101.21
eth2:1 169.254.75.98
HAIP
node2 eth1
eth2
eth1: 192.168.1.12
eth1:1 169.254.169.230
HAIP
eth2: 192.168.101.22
eth2:1 169.254.94.159
eth2:2 169.254.169.230
HAIP
node1 eth1
eth2
eth1: 192.168.1.11
eth1:1 169.254.148.228
HAIP
eth2: 192.168.101.21
eth2:1 169.254.75.98
eth2:2 169.254.148.228
HAIP
89
Copyright© 2011, Oracle. All rights reserved.
9. 高可用性 IP (HAIP) の動作確認 インターコネクト復旧時
• 通信が回復すると、HAIP は自動で元の NIC にフェイルバック
node2 eth1
eth2
eth1: 192.168.1.12
eth1:1 169.254.169.230
HAIP
eth2: 192.168.101.22
eth2:1 169.254.94.159
eth2:2 169.254.169.230
HAIP
node1 eth1
eth2
eth1: 192.168.1.11
eth1:1 169.254.148.228
HAIP
eth2: 192.168.101.21
eth2:1 169.254.75.98
eth2:2 169.254.148.228
HAIP
node2 eth1
eth2
eth1: 192.168.1.12
eth1:1 169.254.169.230
HAIP
eth2: 192.168.101.22
eth2:1 169.254.94.159
HAIP
node1 eth1
eth2
eth1: 192.168.1.11
eth1:1 169.254.148.228
HAIP
eth2: 192.168.101.21
eth2:1 169.254.75.98
HAIP
90
Copyright© 2011, Oracle. All rights reserved.
9. 高可用性 IP (HAIP) の動作確認 OUI で設定
•インターコネクトの冗長構成が OUI から設定可能
91
Copyright© 2011, Oracle. All rights reserved.
9. 高可用性 IP (HAIP) の動作確認 操作概要
• 冗長構成されたプライベート・ネットワークの NIC のうち、片方の NIC を無効化/再有効化することでネットワークの障害発生 / 回復をシミュレートし、HAIP の動作を確認
HAIP 動作確認の流れ(例)
HAIP の構成を確認 1
プライベート・ネットワークの障害発生 / 回復に応じて自動で HAIP の割当てられる NIC
が変更される
※ HAIP の割当てられる NIC が変更されてもクラスタ上で稼働するデータベースは影響を受けない
eth0
eth1
eth2
eth1:1
eth2:1
擬似障害の発生 (ifconfig eth1 down) 2
eth1
eth2
eth2:2
eth2:1
疑似障害の回復 (ifconfig eth1 up) 3 eth1
eth2
eth1:1
eth2:1
パブリック
プライベート
プライベート
92
Copyright© 2011, Oracle. All rights reserved.
9. 高可用性 IP (HAIP) の動作確認 事前準備
• root ユーザーでクラスタの構成ノードにログインしたターミナルを用意
[root@node1 ~]#
IP アドレスの確認 1
[root@node2 ~]#
• 本機能体験は、OS コマンド ifconfig を使用して実施
• コマンドは複数ノードで root ユーザーで実行
• コマンドの実行例および出力例は次ページより紹介
• 今回の紹介する例は以下の環境における例とする
クラスタ: 2ノードの Grid Infrastructure 環境
ネットワーク: パブリックネットワーク – eht0 プライベートネットワーク – eth1,eth2 (インストール時に冗長構成)
93
Copyright© 2011, Oracle. All rights reserved.
• HAIP の確認例(node1)
9. 高可用性 IP (HAIP) の動作確認 状態の確認 (NIC と IP アドレスの割当て確認)
[root@node1 ~]# ifconfig
.................
eth1 Link encap:Ethernet HWaddr 00:16:3E:01:01:01 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 .................
eth1:1 Link encap:Ethernet HWaddr 00:16:3E:01:01:01 inet addr:169.254.63.109 Bcast:169.254.127.255 Mask:255.255.128.0 .................
eth2 Link encap:Ethernet HWaddr 00:16:3E:01:02:01 inet addr:192.168.101.1 Bcast:192.168.101.255 Mask:255.255.255.0
.................
eth2:1 Link encap:Ethernet HWaddr 00:16:3E:01:02:01 inet addr:169.254.201.201 Bcast:169.254.255.255 Mask:255.255.128.0
169.254.X.X のIPアドレス が割当てられている
94
Copyright© 2011, Oracle. All rights reserved.
• 両ノードで次のコマンドで IP アドレスの割当て状況を常時確認
9. 高可用性 IP (HAIP) の動作確認 監視の準備
[root@node1 ~]# watch ifconfig
[root@node2 ~]# watch ifconfig
95
Copyright© 2011, Oracle. All rights reserved.
• node1 上で別ターミナルを用意し、ifconfig コマンドを使用して疑似的に
eth1 の NIC を無効化
9. 高可用性 IP (HAIP) の動作確認 疑似障害の発生 (ifconfig eth1 down の実行①)
[root@node1 ~]# ifconfig eth1 down
[root@node1 ~]#
node1 で ifconfig コマンドにより eth1 を無効化 2
96
Copyright© 2011, Oracle. All rights reserved.
• 両ノードで IP アドレスの割当て状況の変化を監視
9. 高可用性 IP (HAIP) の動作確認 疑似障害の発生 (ifconfig eth1 down の実行②)
[root@node1 ~]# watch ifconfig
eth2 Link encap:Ethernet HWaddr 00:16:3E:01:02:01 inet addr:192.168.101.1 Bcast:192.168.101.255 Mask:255.255.255.0 .................
eth2:1 Link encap:Ethernet HWaddr 00:16:3E:01:02:01 inet addr:169.254.201.201 Bcast:169.254.255.255 Mask:255.255.128.0 .................
eth2:2 Link encap:Ethernet HWaddr 00:16:3E:01:02:01 inet addr:169.254.63.109 Bcast:169.254.127.255 Mask:255.255.128.0
[root@node2 ~]# watch ifconfig
eth2 Link encap:Ethernet HWaddr 00:16:3E:01:02:02 inet addr:192.168.101.2 Bcast:192.168.101.255 Mask:255.255.255.0
.................
eth2:1 Link encap:Ethernet HWaddr 00:16:3E:01:02:02 inet addr:169.254.146.45 Bcast:169.254.255.255 Mask:255.255.128.0 ................. eth2:2 Link encap:Ethernet HWaddr 00:16:3E:01:02:02 inet addr:169.254.108.154 Bcast:169.254.127.255 Mask:255.255.128.0
eth1 の HAIP が eth2 に移動している
97
Copyright© 2011, Oracle. All rights reserved.
• node1 上で ifconfig コマンドを使用して再び eth1 の NIC を有効化
9. 高可用性 IP (HAIP) の動作確認 疑似障害の回復 (ifconfig eth1 up の実行①)
[root@node1 ~]# ifconfig eth1 up
[root@node1 ~]#
node1 で ifconfig コマンドにより eth1 を再び有効化 3
98
Copyright© 2011, Oracle. All rights reserved.
• 両ノードで IP アドレスの割当て状況の変化を監視
9. 高可用性 IP (HAIP) の動作確認 疑似障害の回復 (ifconfig eth1 up の実行②)
[root@node1 ~]# watch ifconfig
eth1 Link encap:Ethernet HWaddr 00:16:3E:01:01:01 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 .................
eth1:1 Link encap:Ethernet HWaddr 00:16:3E:01:01:01 inet addr:169.254.63.109 Bcast:169.254.127.255 Mask:255.255.128.0
................. eth2 Link encap:Ethernet HWaddr 00:16:3E:01:02:01 inet addr:192.168.101.1 Bcast:192.168.101.255 Mask:255.255.255.0
.................
eth2:1 Link encap:Ethernet HWaddr 00:16:3E:01:02:01 inet addr:169.254.201.201 Bcast:169.254.255.255 Mask:255.255.128.0
eth1 の HAIP が再び eth1 に移動している
[root@node2 ~]# watch ifconfig
eth1 Link encap:Ethernet HWaddr 00:16:3E:01:01:02 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
.................
eth1:1 Link encap:Ethernet HWaddr 00:16:3E:01:01:02 inet addr:169.254.108.154 Bcast:169.254.127.255 Mask:255.255.128.0
eth2 Link encap:Ethernet HWaddr 00:16:3E:01:02:02 inet addr:192.168.101.2 Bcast:192.168.101.255 Mask:255.255.255.0 .................
eth2:1 Link encap:Ethernet HWaddr 00:16:3E:01:02:02 inet addr:169.254.146.45 Bcast:169.254.255.255 Mask:255.255.128.0
99
Copyright© 2011, Oracle. All rights reserved.
Oracle Database 11g Release 2 で実現
する統合システム基盤
サーバー・
プール Free
重要度: 高 重要度: 中 重要度: 低
Oracle Clusterware
SCAN
統合汎用 DB 1
社内サービス
開発環境 DB 統合汎用 DB 2 RAC One
販売サービス
在庫サービス 事業別サービス
App Team A
App Team B
Service
Service
App Binary
Script / log file
Oracle ACFS ASM Files
Oracle Automatic Storage Management
100
Copyright© 2011, Oracle. All rights reserved.
まとめ
クラウド時代に向けたデータセンターに最適なプラットフォーム
= Oracle Grid Infrastructure
• リソースの物理的な所在を意識せずにサービスとして
利用可能
• 統合システム基盤構築による運用の標準化、コスト削減の促進
• 複数データベースを単一クラスタに統合し、全体最適化
• RAC One Node による小規模データベースの集約
• 今後のデータセンターでは、ビジネス要件の変化に迅速に対応できる柔軟なインフラストラクチャが重要
101
Copyright© 2011, Oracle. All rights reserved. 102
Copyright© 2011, Oracle. All rights reserved. 103