Oracle Data Guard の構築とフェイルオーバー実行例 日本オラクル株式会社
以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらないで下さい オラクル製品に関して記載されている機能の開発 リリースおよび時期については 弊社の裁量により決定されます Oracle と Java は Oracle Corporation 及びその子会社 関連会社の米国及びその他の国における登録商標です 文中の社名 商品名等は各社の商標または登録商標である場合があります 2
Agenda Data Guardの動作要件 Data Guard 構築 スイッチ オーバーの実行 ファスト スタート フェイルオーバーの実行 <Insert Picture Here> 3
Data Guard の動作要件ハードウェアおよびオペレーティング システムの要件 ハードウェアおよび OS 要件は データベースと同じです Oracle Database 11g から プライマリ システムとスタンバイ システムを 異なるハードウェアおよび OS 上に構成することも可能です ハードウェアのメーカー及び機種 ハードウェアの構成 CPU の種類 OS( たとえば Windows と Linux) および OS のバージョン OS のバイナリ (32-bit/64-bit) プライマリとスタンバイで異なるスペックのマシンを使用することも可能です ただし スペックの差が大きい場合 スペックの低いマシンの処理がボトルネックとなり ログ適用の遅延や ロール切り替え時のパフォーマンス劣化などの問題が起きる場合があります プラットフォーム混在のサポートおよび制限事項については 以下の情報をご参照ください My Oracle Support(http://support.oracle.com) フィジカル スタンバイに対するサポートおよび制限事項 :Note 413484.1 ロジカル スタンバイに対するサポートおよび制限事項 :1085687.1 4
Data Guard の動作要件 Oracle ソフトウェア要件 Oracle Data Guard は Oracle Database Enterprise Edition の機能です プライマリとスタンバイで 以下はすべて同じである必要があります エディション (Oracle Database Enterprise Edition) バージョンおよび PSR 個別パッチ (Database の ORACLE_HOME に適用しているもの ) ただし プライマリでのみ RAC を使用しているなど 同じパッチを適用できない場合は一方にのみ適用することでも問題はありません プライマリとスタンバイの両方または一方のみを RAC 構成とすることが可能です 5
Agenda Data Guardの動作要件 Data Guard 構築 スイッチ オーバーの実行 ファスト スタート フェイルオーバーの実行 <Insert Picture Here> 6
Data Guard の管理インタフェース Data Guard 構成の構成 実装および管理には 次のフレームワークを使用できます SQL*Plus コマンドライン インタフェース Oracle Data Guard Broker Data Guard Broker コマンドライン インタフェース (DGMGRL) Oracle Enterprise Manager Grid Control Oracle Data Guard Broker とは Oracle Data Guard Brokerは Data Guard 構成の作成 メンテナンスおよび監視を自動化および集中化する分散管理フレームワークです Oracle Data Guard Broker を利用することにより プライマリ データベースとスタンバイ データベースを統合管理し 作成やメンテナンス作業を単純化することが可能になります DGMGRL/EM DMON DMON 構成ファイル 構成ファイル 7
DGMGRL と Enterprise Manager Oracle Data Guard Broker には 以下の 2 つのインタフェースがあります Data Guard Broker コマンドライン インタフェース (DGMGRL) Oracle Enterprise Manager Grid Control DGMGRL または Enterprise Manager を使うことにより 以下の作業を簡素化することができます DGMGRL Data Guard 構成の作成と有効化 Data Guard 構成全体の管理スイッチオーバーおよびフェイルオーバー操作ファスト スタート フェイルオーバー 左記に加え Enterprise Manager プライマリのバックアップからのスタンバイ作成 Data Guard 構成への新規スタンバイの追加ログ適用レートの監視 診断情報の獲得集中化したモニタリング ツールを使用した問題の早期検出 本資料では 管理インタフェースとして Enterprise Manager を使用します 8
Data Guard 構成の前提条件 Data Guard 構成を構成する前に 以下の構成及び設定が必要です プライマリ マシンおよびスタンバイ マシンへの Oracle Database ソフトウェアのインストール 管理を簡素化するために プライマリ マシンおよびスタンバイ マシンのディレクトリ構造を同一にすることをお勧めします プライマリ データベースの作成 プライマリ データベースを ARCHIVE LOG モードに設定 Oracle Enterprise Manager を使用して Data Guard を構築及び運用管理するためには 以下の構成及び設定が必要です Oracle Enterprise Manager Grid Control の構成 プライマリ マシンおよびスタンバイ マシンへの Management Agent の配布 プライマリ マシンおよびスタンバイ マシンを Enterprise Manager に登録 Grid Control 構築については 以下のマニュアルをご参照ください Oracle Enterprise Manager Grid Control 基本インストレーション ガイド 11g リリース 1 http://download.oracle.com/docs/cd/e17559_01/install.111/b61019/toc.htm 9
Enterprise Manager を利用した Data Guard の構築 Grid Control へのアクセス Oracle Enterprise Manager Grid Control にアクセスし プライマリとして構成するデータベースの管理画面を開きます
Enterprise Manager を利用した Data Guard の構築スタンバイ データベースの作成 1 可用性 ページを開き スタンバイ データベースの追加 リンクをクリックします
Enterprise Manager を利用した Data Guard の構築スタンバイ データベースの作成 2 新規のフィジカル スタンバイ データベースの作成 を選択します
Enterprise Manager を利用した Data Guard の構築スタンバイ データベースの作成 3 現在稼働中のデータベースをもとにして (= バックアップして ) スタンバイ データベースを構築することができます 既存のバックアップが存在する場合には それを利用することもできます
Enterprise Manager を利用した Data Guard の構築スタンバイ データベースの作成 4 バックアップのための情報を入力します Hint 優先資格証明で エラー :NMO が setuidroot ではありません (UNIX のみ ) というメッセージが表示される場合には Management Agent ホームの root.sh を実行してください
Enterprise Manager を利用した Data Guard の構築スタンバイ データベースの作成 5 スタンバイ データベースのインスタンス名と スタンバイ データベースが稼働するホスト情報を入力します Hint ここで指定するホストは 事前に Grid Conrtol に登録されている必要があります
Enterprise Manager を利用した Data Guard の構築スタンバイ データベースの作成 6 スタンバイ データベースのデータ ファイル格納先と リスナー情報を入力します Hint プライマリとスタンバイのディレクトリ構造が同一の場合は 同じ場所 を指定します
Enterprise Manager を利用した Data Guard の構築スタンバイ データベースの作成 7 スタンバイ データベースのデータベース名と アーカイブ ログの配置先を指定します Hint フラッシュ リカバリ領域におかれたアーカイブ ログは Oracle により自動管理 ( 上書き ) されるため 管理コストが節減されます
Enterprise Manager を利用した Data Guard の構築スタンバイ データベースの作成 8 設定した情報を確認し 終了 ボタンをクリックします
Enterprise Manager を利用した Data Guard の構築スタンバイ データベースの作成 9 処理の進捗状況を確認します
Enterprise Manager を利用した Data Guard の構築スタンバイ データベースの作成 10 スタンバイ データベースが作成されたことを確認します
Enterprise Manager を利用した Data Guard の構築 Data Guard 管理画面へのアクセス Data Guard のページから 保護モードやフェイルオーバーの設定 およびステータスやログ適用状況の確認をすることができます 転送 /REDO 適用のタイムラグ どこまでのログが適用されているか
Enterprise Manager を利用した Data Guard の構築 補足 Data Guard の保護モード Enterprise Manager の画面から 保護モードを変更することが可能です 最大保護最大可用性最大パフォーマンス 同期通常時同期同期非同期 スタンバイ障害時同期非同期非同期 スタンバイ障害時のプライマリ処理 データ損失 プライマリでの処理停止 複数の障害が発生した場合でもデータ損失ゼロを保証 プライマリでの処理続行 ネットワーク障害やプライマリ サイト障害などの単一障害によるデータ損失ゼロを保証 プライマリでの処理続行 転送遅延によるデータ消失のリスク
Agenda Data Guardの動作要件 Data Guard 構築 スイッチ オーバーの実行 ファスト スタート フェイルオーバーの実行 <Insert Picture Here> 23
Data Guard のスイッチオーバー Oracle Enterprise Manager の画面から スイッチオーバー および フェイルオーバー の作業を実行することができます ここでは スイッチ オーバーの手順を説明します スイッチオーバー P S 補足 スイッチオーバーとフェイルオーバーの違い スイッチオーバー : 計画的なロールの切り替え OS やハードウェアのアップグレード または Oracle Database のローリング アップグレードなど 予定されたプライマリ システムのメンテナンスの際に実行されます スイッチオーバーでは データが消失しないことが保証されます フェイルオーバー : 障害などによるロールの引き継ぎプライマリ データベースに障害が発生した場合に スタンバイ データベースがプライマリ ロールを引き継ぐことです フェイルオーバーは プライマリ データベースで災害などの障害が起き プライマリ データベースを適時にリカバリできない場合にのみ実行されます フェイルオーバーでは 保護モードによっては データが消失する場合があります 24
Enterprise Manager を使用したスイッチオーバースイッチオーバーの開始 スイッチ オーバー ボタンをクリックします orcl1 がプライマリ orcl2 がスタンバイ
Enterprise Manager を使用したスイッチオーバースイッチオーバーの実行 1 確認画面で はい をクリックします
Enterprise Manager を使用したスイッチオーバースイッチオーバーの実行 2 ロールの切り替えおよびスタンバイ データベースの起動が自動的に進行します
Enterprise Manager を使用したスイッチオーバースイッチオーバーの実行 3 スイッチ オーバーが完了しました orcl2 がプライマリ orcl1 がスタンバイ
Agenda Data Guardの動作要件 Data Guard 構築 スイッチ オーバーの実行 ファスト スタート フェイルオーバーの実行 <Insert Picture Here> 29
Data Guard のフェイルオーバーのタイプ フェイルオーバーには 以下の 2 種類の実行方法があります ファスト スタート フェイルオーバー ( 自動フェイルオーバー ) Oracle Database 10g Release 2 から利用可能な機能です 事前設定に基づき プライマリ停止時に自動的にフェイルオーバーが実行されるようになります 手動操作の必要性を少なくして可用性を高め 管理コストを削減できます 監視サーバー ( オブザーバ ) を用意する必要があります 手動フェイルオーバー ファスト スタート フェイルオーバーの設定をしていない場合でも 従来通り手動によるフェイルオーバーを実行することは可能です ここでは 以下の手順を説明します 1. ファスト スタート フェイルオーバーの概要 2. ファスト スタート フェイルオーバーの有効化 3. プライマリ障害発生時の自動フェイルオーバー フェイルオーバー P S 30
ファスト スタート フェイルオーバーの概要 ファスト スタート フェイルオーバーとは ブローカーは 設定条件に基づき フェイルオーバーの必要性を判断し 自動的にフェイルオーバーを開始します 元のプライマリ データベースは 障害の復旧後 オブザーバとの接続が確立すると 自動的に新しいスタンバイ データベースとして再構成されます 再構成では 内部的に Flashback Database を使用して 障害発生直前までデータをフラッシュバックし ロールをスタンバイに変換します 補足 ファスト スタート フェイルオーバーの実行条件 デフォルトでは 設定された時間しきい値内に オブザーバもスタンバイもプライマリにアクセスできない場合に ファスト スタート フェイルオーバーが実行されます その他 必要に応じて ファスト スタート フェイルオーバーを発生させる条件 ( 健全性条件 ) を指定することができます 31
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの有効化 1 ファスト スタート フェイルオーバーは 現在無効になっています 無効 をクリックして ファスト スタート フェイルオーバーを有効化します
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの有効化 2 ファスト スタート フェイルオーバーを実現するには オブザーバを構成する必要があります
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの有効化 3 オブザーバを構成するホストを指定します Hint オブザーバは別ホストに構成することが推奨されています 可用性を高めるため 複数の場所にオブザーバを配置することもできます
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの有効化 4 フェイルオーバーのタイミングや 障害時のプライマリ データベースの動作を指定することができます
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの有効化 5 フラッシュバック ロギングが有効化されていない場合 有効化されます
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの有効化 5 ファスト スタート フェイルオーバーが有効化されます
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの実行 1 現在のプライマリ データベースが orcl1 であることを確認します orcl1 がプライマリ orcl2 がスタンバイ
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの実行 2 プライマリ データベース (orcl1) の障害をシュミレートします
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの実行 3 自動的にフェイルオーバーが実行され スタンバイ データベース (orcl2) がプライマリ データベースとして起動します 自動的にプライマリとして起動
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの実行 4 新プライマリ ( 旧スタンバイ ) の管理画面にアクセスします ステータスの データベースを回復する必要があります をクリックします orcl2 がプライマリ orcl1 がスタンバイ
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの実行 5 回復 ボタンをクリックします
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの実行 6 旧プライマリ データベースの回復作業が自動的に進行します
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの実行 7 旧プライマリ データベースが スタンバイ データベースとして回復されます orcl2 がプライマリ orcl1 がスタンバイ
Enterprise Manager を使用したフェイルオーバーファスト スタート フェイルオーバーの実行 8 旧プライマリ データベースが スタンバイ データベースになったことを確認します