Comments
Description
Transcript
Flashback
Oracle Database Core Tech Seminar - Data Guard, RMAN, Flashback 1 テクノロジー製品事業統括本部 – 基盤技術部 シニアエンジニア 佐々木 亨 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Russia 17–18 April 2012 India 3–4 May 2012 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. San Francisco September 30–October 4, 2012 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメン ト(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さ い。オラクル製品に関して記載されている機能の開発、リリースおよび時期につい ては、弊社の裁量により決定されます。 OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. はじめに 本セッションの内容 • Oracle Maximum Availability Architecture(MAA)を構成するために必 要な下記のテクノロジーを解説します – Active Data Guard – Recovery Manager (RMAN) – Flashback テクノロジー 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. はじめに 本セッションの内容 • Oracle Maximum Availability Architecture(MAA)は、 Oracleの実証済み高可用性テクノロジーと成功事例に基づいたOracle のベスト・プラクティスのブループリント • MAAの目的 – すべての停止を回避、検出および修復するためのベスト・プラクティスを提供 – 最適な高可用性アーキテクチャをシンプルに構成すること • ハードウェアやOSの影響を受けない • 高可用性のソリューションと体験をすぐに提供 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. はじめに 本セッションの内容 Real Application Clusters データ障害 Flashback RMAN & Oracle Secure Backup ASM Active Data Guard GoldenGate システム変更 Online Reconfiguration Rolling Upgrades データ変更 Online Redefinition アプリ変更 Edition-based Redefinition 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Oracle MAA Best Practices ノード障害 計画外停止 計画停止 MAA を構成する機能・製品 はじめに Oracle Maximum Availability Architecture RAC • データ多重化 • 災害対策 Active Data Guard RAC • サーバーの 単一障害点抑止 • 拡張性の確保 RMAN Flashback ASM • ボリューム管理 • 単一障害点抑止 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. • 人的ミスからの 迅速復旧 • データバックアップ • 人的ミスの抑制 backup 本日の内容 • Active Data Guard • Recovery Manager (RMAN) • Flashback テクノロジー 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Active Data Guard データ保護と可用性の提供と同時に、適切なROIを実現 • REDO転送によって複製データベースを作成、同期を取ることで、 本番データベースを障害およびデータ破損から保護 • 計画停止 / 計画外停止時の切り替えによりシステムのダウンタイムを短縮 • レポーティング、テストやバックアップ用途でスタンバイ・データベースを 活用可能 データベースのREDOを転送 プライマリ・データベース 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. スタンバイ・データベース Active Data Guard アーキテクチャ サーバー プロセス ログ バッファ (1). REDO転送サービス ログバッファまたはオンラインREDOログ からREDOを転送、スタンバイ側で受信 NSS/NSA ログ バッファ RFS LGWR データファイル オンライン REDOログ MRP アーカイブ ログ プライマリ・データベース (3). ロール管理サービス 12 (2). REDO適用サービス リカバリの仕組みでREDO を逐次適用 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. スタンバイ REDOログ アーカイブ ログ データファイル スタンバイ・データベース 計画(外)停止時にデータベースを切り替える 本日の内容 • Active Data Guard – REDO 転送サービス – REDO 適用サービス – ロール管理サービス • Recovery Manager (RMAN) • Flashback テクノロジー 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO転送の経路と設定 • REDO転送のネットワーク経路はREDOの宛先で指定可能 • プライマリの log_archive_dest_n パラメータで設定 log_archive_dest_n = ‘SERVICE =<tns名> …’ <tns名> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = <IP1 or IP2>) (PORT = ポート番号)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = <スタンバイSID>)) ) 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. パブリックLAN spfile.ora • クライアント • アプリケーションサーバー IP1 リスナー1 listener.ora tnsnames. ora 管理用LAN リスナー2 IP2 ※ スタンバイ側でも設定しておけば 役割が入れ替わった後の転送も可能 転送方法の選択 同期転送と非同期転送 • 同期 / 非同期転送から選択可能 • 同期転送 – 消失データゼロを実現 – スタンバイへのREDO転送完了を待つため、プライマリデータベースのレスポ ンスに影響する • 非同期転送 – プライマリへの性能の影響はほとんどない – ネットワーク性能が十分であればほぼ最新のデータを送信可能 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 同期転送と非同期転送 アーキテクチャ 同期転送 ① サーバー プロセス SQL> COMMIT; ログ バッファ ① ④ 非同期転送 ① サーバー プロセス ログ バッファ ① ③ LGWR RFS ログ バッファ ③ オンライン REDOログ NSA LGWR スタンバイ REDOログ ㋐ RFS データファイル ログ バッファ ㋑ ② データファイル 16 ② ② データファイル SQL> COMMIT; NSS Copyright © 2012, Oracle and/or its affiliates. All rights reserved. オンライン REDOログ スタンバイ REDOログ データファイル 同期転送と非同期転送 同期転送におけるアプリケーションへの影響 同期転送 ① サーバー プロセス NSS LGWR ④ 17 ① コミット処理 開始 SQL> COMMIT; RFS ログ バッファ ③ ② データファイル アプリケーション ② オンライン REDOログ スタンバイ REDOログ ② オンラインREDO ログへ書き込み ② スタンバイ へ転送 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ② 書き込み 完了通知 ③ スタンバイREDO ログへ書き込み データファイル ④ コミット処理 完了 SQL> COMMIT; ログ バッファ ① 同期転送と非同期転送 非同期転送におけるアプリケーションへの影響 非同期転送 ① サーバー プロセス ③ ① コミット処理 開始 SQL> COMMIT; LGWR RFS ログ バッファ ㋑ オンライン REDOログ ② オンラインREDO ログへ書き込み ㋐ スタンバイ へ転送 18 ㋐ ② データファイル アプリケーション NSA Copyright © 2012, Oracle and/or its affiliates. All rights reserved. スタンバイ REDOログ ③ コミット処理 完了 SQL> COMMIT; ログ バッファ ① ㋑ スタンバイREDO ログへ書き込み データファイル 同期転送と非同期転送 データ保護の要件と性能要件の選択 同期転送 非同期転送 メリット • ゼロデータロスを実現可能 デメリット • 性能への影響を検討する必 • データロスに関する検討が 要がある 必要 • アプリケーション特性(REDO生成量) • 性能への影響がほぼない • ネットワーク帯域、遅延 • プライマリがmountできれば データロスは回避可能 • スタンバイREDOログファイルのI/O性能 • トランザクション再実行 同期転送と非同期転送の切り替えはオンラインで変更可能 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. アプリケーション特性 REDO生成量の確認 Enterprise Manager Cloud Control 12c から REDO生成量を時系列で確認可能 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 必要なネットワーク帯域 Data Guard ストレージの リモートミラー ストレージのリモートミラーと Data Guard 制御ファイル オンライン REDOログ アーカイブログ 制御ファイル 広帯域な ネットワーク 回線が必要 オンライン REDOログ アーカイブログ データファイル データファイル 制御ファイル 制御ファイル オンライン REDOログ REDOのみ転送 スタンバイ REDOログ アーカイブログ アーカイブログ データファイル データファイル MRP Data Guard では転送対象が限定されるので、必要な帯域幅が小さくなる 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ネットワーク帯域についての考慮 帯域が十分確保できない場合 • ネットワークの帯域を上回るREDOが長時間生成された場合の動作 – 転送が完了せずトランザクションのコミットがなかなか返らない(同期転送) – 未転送のREDOが増加=障害発生時の消失データの増加(非同期転送) ログ バッファ NSS/NSA ログ バッファ RFS LGWR MRP 未転送REDO データファイル 22 オンライン REDOログ Copyright © 2012, Oracle and/or its affiliates. All rights reserved. アーカイブ ログ スタンバイ REDOログ アーカイブ ログ データファイル REDO圧縮機能 ※ Advanced Compression オプションがあれば使用可能 転送時に圧縮 サーバー プロセス ログ バッファ 受信時に伸長 NSS/NSA ログ バッファ RFS LGWR MRP ディスク上では 圧縮されない データファイル オンライン REDOログ アーカイブ ログ プライマリ・データベース スタンバイ REDOログ アーカイブ ログ データファイル スタンバイ・データベース 低帯域なネットワーク経由でREDOを転送する際に有効 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO圧縮の効果 平均CPU使用率 Node 1 100 Node 2 90 79.479.0 77.677.4 80 70 60 50 40 30 20 10 0 平均REDO転送量 6 REDO転送量 (MB/s) 平均スループット 100 99.39 100 90 80 70 60 50 40 30 20 10 0 非圧縮 圧縮 usr + sys (%) スループット(係数化後) Oracle GRID Center における日立製作所様との共同検証結果 5.32 5 4 3 2.21 2 1 0 非圧縮 圧縮 非圧縮 参考URL : http://www.hitachi.co.jp/Prod/comp/soft1/oracle/pdf/OBtecinfo-08-007.pdf 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 約40% まで圧縮! 圧縮 REDO圧縮導入時の考慮点 • CPUリソースへのオーバーヘッド – 圧縮率が高いほどオーバーヘッドも大きい – 同時処理量(REDO転送量)が多いほどオーバーヘッドが大きい • 圧縮率の考え方 – データに依存するため、一定ではない – gzip コマンドによる圧縮率と近い傾向にある • アーカイブログ・ファイルに対して gzip コマンドを実行しサイズを確認することでラフ な見積もりは可能 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO転送ネットワークの遅延 • 転送距離が長くなるとRTT(Round Trip Time)が長くなる • 一般的に、転送の最大スループットは一度に送るデータ量とRTTで決まる – RTTが長くなると1コネクション当たり(Data Guard の転送ルートにおける)の 転送スループットは悪くなる • 広帯域の回線でも、1コネクションでは帯域を使いきらず転送効率が低下 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO転送ネットワークのチューニング • SDU(Session Data Unit) サイズの増加 – データ転送時に Oracle*Net でバッファに格納する単位を増やして、ネットワー クI/Oの回数を減らす – 推奨値:65535(最大値) 送受信両側で設定する • TCP ソケット・バッファ の増加 – ネットワーク回線上で使用できる帯域幅に関係なく、使用可能な帯域幅を制御 – TCP送信バッファ / 受信バッファサイズの増加により転送効率が向上 – 帯域幅とRTTから最適な値を算出可能: 「帯域幅(バイト) × RTT(秒) ×3」 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO転送ネットワークのチューニング効果 Oracle GRID Center における日立製作所様との共同検証結果 • RTTの増加によって転送効率は低下するが、Oracleの設定によるチュー ニングで改善可能 平均転効率(MB/s) チューニング前 8.6 転送効率 の改善! 未設定(LANを想定) 12(東京-大阪間想定) Round Trip Time (ミリ秒) 28 チューニング後 10.1 11.1 11.0 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 4.5 転送効率 の改善! 40(東京-沖縄間想定) REDOの受信 スタンバイREDOログ • プライマリから転送されたREDOをアーカイブ する前に一時的に蓄えるためのファイル • 未アーカイブのREDOも適用でき、 フェイルオーバー時のREDO消失を 少なくできる RFS ログ バッファ • 作成時の注意点 – サイズはプライマリのオンラインREDOログと同じにする – グループ数はプライマリのグループ数+1以上 – 複数メンバー作成も可能 – I/O性能に対する考慮が必要(特に同期転送時) 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. スタンバイ REDOログ データファイル データ保護モード REDO転送が失敗した場合にREDO生成の継続を制御 保護モード 保護モードの効果 ログ転送モード 最大保護モード データ同期化は完全保証。スタンバイ・データベー スでREDO書き込みが終わるまでcommit が完了 しない。スタンバイ・データベースがダウンするとプ ライマリ・データベースも最終的には停止して、デ ータを保護する LGWR,SYNC,AFFIRM 最大可用性モード 通常は最大保護モードと同じ動作で、スタンバイ・ データベースと通信できなくなると最大パフォーマ ンスモードに移行 スタンバイ・データベースがダウンしてもプライマ 最大パフォーマンス リ・データベースは継続稼働。 モード(デフォルト) データが転送されていない可能性がある 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. LGWR,SYNC,AFFIRM LGWR,ASYNC データ保護モード 最大パフォーマンスモード • プライマリ・データベースのパフォーマンスに影響しない範囲でデータ保 護を提供するモード – 非同期転送(ASYNC) • トランザクションのコミットと、スタンバイへのREDO書き込みは非同期 • ローカルのオンラインREDOログへの書き込みが行えればコミットを完了 – スタンバイ・データベースがダウンしてもプライマリ・データベースは継続稼働 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. データ保護モード 最大可用性モード • プライマリ・データベースの可用性に影響させないレベルで、データ保護を 提供するモード – 同期転送(SYNC) • プライマリ・データベースにアクセスできる状態ではデータロスが発生しないことを保証 • コミット前には、ローカルのオンラインREDOログと1つ以上のスタンバイREDOログに 書き込む必要あり – スタンバイREDOログに書き込めない場合(一定時間書きこめない、スタンバイ のエラー)は、一時的に再同期化モードになる • 最大パフォーマンスモードと同じ動作となる • ベストプラクティスは、二次障害が発生する前に迅速に解決すること 32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. データ保護モード 最大保護モード • データ損失を発生させないことを保証する最高レベルの保護モード – 同期転送(SYNC) • プライマリ・データベースに障害が発生した状況でもデータロスが発生しないことを 保証 • コミット前には、ローカルのオンラインREDOログと、1つ以上のスタンバイREDOロ グに書き込む必要あり – スタンバイREDOログに書き込めない場合は、プライマリ・データベースのコミ ットが完了しない(一定時間後経過しても書き込めない場合はプライマリ・デ ータベースが安全に速やかに停止される) • ベストプラクティスは、スタンバイを2つ以上持つこと 33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO転送遅延時の動作 log_archive_dest_n の属性 • NET_TIMEOUT (デフォルト30秒) – 同期転送時、LGWRがREDO転送先に送信されたREDOの確認待ちをブロッ クする時間を秒数で指定 • NET_TIMEOUTの時間、何も受信されない場合はエラーがログに記録 され、その宛先へのREDO転送セッションは終了(ORA-16198) • NET_TIMEOUT属性の指定がない場合はTCP/IPのタイムアウトまで待 機する動作となる 34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO転送失敗時の動作 log_archive_dest_n の属性 • REDO転送失敗の原因 – スタンバイ・データベースがMOUNTで起動していない、リスナーが起動していな いなど • REOPEN (デフォルト300秒) – 転送処理が実行できなかった場合の再試行のタイミングを指定(秒) • MAX_FAILURE (デフォルト無制限) – 再試行の最大回数 • REDO転送失敗時、REOPEN経過後のあるログ・スイッチ時に再開される • 再試行がMAX_FAILUREに達した場合はそれ以上転送は行われない 35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO転送サービスまとめ • 転送方式の検討 – 同期、非同期 • データの保護モード検討 – 最大保護、最大可用性、最大パフォーマンス • 転送ネットワーク – 経路の検討、チューニングの検討、圧縮の検討 • 各種属性検討 – 可用性の要件に合わせて 36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 本日の内容 • Active Data Guard – REDO 転送サービス – REDO 適用サービス – ロール管理サービス • Recovery Manager (RMAN) • Flashback テクノロジー 37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO適用サービス • スタンバイ・サイトに転送されたREDOの 自動適用を制御するサービス ログ バッファ • REDOの自動適用のタイミングは 設定によって変更可能 • 自動適用を行うには、管理リカバリ・モード での起動が必要 – MRP(管理リカバリ・プロセス)が 適用処理を行う – マルチコア環境では自動的に並列化 • スタンバイ側へのオブジェクト作成不可 38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MRP アーカイブ ログ スタンバイ REDOログ データファイル REDO適用のタイミング デフォルトの動作 • デフォルトでは、受信したREDOのアーカイブ 完了後、随時適用が開始される • 設定によってタイミングを 変更することも可能 ログ バッファ RFS – リアルタイム適用 – タイム・ディレイ適用 MRP アーカイブ ログ スタンバイ REDOログ データファイル アーカイブログから適用 39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO適用のタイミング リアルタイム適用 • スタンバイREDOログがアーカイブされる前に適用する • 受信後すぐに適用することで常に 最新状態まで同期完了済み ログ バッファ RFS – スイッチオーバー/フェイルオーバー の高速化 – スタンバイ側で最新の情報を 検索することが可能となる • 設定はスタンバイ側で行う MRP アーカイブ ログ スタンバイ REDOログ データファイル スタンバイREDOログから適用 40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO適用のタイミング タイム・ディレイ適用 • アーカイブ作成後、一定時間経過後に適用する方法 – タイムラグはスタンバイサイトの アーカイブログ作成完了後から 発生するため、REDO転送処理は 遅延しない – プライマリデータベースで行われた 人的ミスをスタンバイサイトに反映するのを 遅らせることが目的 • 設定はプライマリ側で行う ログ バッファ RFS MRP アーカイブ ログ スタンバイ REDOログ データファイル 一定時間経過後アーカイブログから適用 41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. REDO適用のタイミング ギャップの自動適用 • 転送、適用に失敗したログを自動取得、適用 スタンバイ プライマリ 時間 10 10 11 ネットワーク障害 再送 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 11 適用失敗 12 再送 42 必要なログ を自動転送 リクエスト 13 時間 必要なログ を自動取得 リアルタイム問い合わせ 災害対策機能を維持しながら、最新の結果をスタンバイ側で検索可能 • REDOを適用をしながらスタンバイ・データベース を読み取り専用でオープン可能 ※ Active Data Guard オプション があれば使用可能 • スタンバイ・データベースとの同期状態を保ちながらスタンバイ参照可能 • 検索時に許容可能な適用ラグ(時間)を指定することでデータ品質を保証 検索・更新処理 検索処理 可能(同期転送時) NSA RFS LGWR データファイル 43 オンライン REDOログ Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MRP スタンバイ REDOログ データファイル データベース は読み取り 専用でOPEN 自動ブロックメディアリカバリ Active Data Guard による透過的なブロック修復機能 Requesting Auto BMR for (file# 7, block# 261) SQL> SELECT max(c1) FROM tab1; ①SQL発行 alert ②ブロック破損 の検知 ⑥エラーなく 結果が返る ③スタンバイに正常 ブロックを要求 ⑤自動的に リカバリ ※ Active Data Guard オプション があれば使用可能 alert Waiting Auto BMR response for (file# 7, block# 261) Auto BMR successful ④スタンバイ側の正常な ブロックを自動的に転送 MAX(C1) ----------------5000 破損を自動的に修復し、エラーなく正しい結果をクライアントに返す 44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 本日の内容 • Active Data Guard – REDO 転送サービス – REDO 適用サービス – ロール管理サービス • Recovery Manager (RMAN) • Flashback テクノロジー 45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ロール管理サービス ロールとは • データベースのロール – プライマリ・ロール • ログ転送サービスがプライマリデータベースからスタンバイデータベースへREDOを 転送する – スタンバイ・ロール • ログ適用サービスがスタンバイデータベースにREDOを適用する • ロールの変更方法 – スイッチオーバー – フェイルオーバー 46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. スイッチオーバー • プライマリ・データベースのメンテナンスなど、計画的に行うロール変換 – 各データベースが正常にオープン(またはマウント)されている場合に実施可能 – データ保護モードに関わらずデータ損失はゼロ – いずれのデータベースも再作成なしで、継続運用やロールをもとに戻すことが 可能 降 格 データファイル 47 昇 格 オンライン REDOログ Copyright © 2012, Oracle and/or its affiliates. All rights reserved. スタンバイ REDOログ データファイル フェイルオーバー • プライマリ・データベースの障害発生時など、計画外に行われるロール変換 – プライマリ・データベースが停止した状態で実行可能 – 最大保護モード以外は、データ損失の可能性あり – フェイルオーバー後に以前のプライマリ・データベースをData Guardに組み込む ために、スタンバイ・データベースの再作成が必要 • Flashback Database を利用することで復旧コストを削減可能 昇 格 データファイル 48 オンライン REDOログ Copyright © 2012, Oracle and/or its affiliates. All rights reserved. スタンバイ REDOログ データファイル スナップショット・スタンバイ フィジカル・スタンバイを一時的にテスト環境として利用可能 • スタンバイ・データベースを通常モードでOPENするので書き込み可能 • REDOは継続して受信可能なためデータ保護要件は確保 • テスト終了後はスタンバイに戻し、REDO適用を再開 – スタンバイへ戻す際は、内部的に Flashback Database を使用 本番用に使用 NSA 検証テストに使用 LGWR データファイル 49 テスト中もREDO オンライン を継続受信可能 REDOログ Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Flash back Log RFS MRP スタンバイ REDOログ データファイル テストによる 書き込みは Flashback Log として 保存 データベース は書き込み 可能でOPEN REDO適用 は停止状態 本日の内容 • Active Data Guard • Recovery Manager (RMAN) • Flashback テクノロジー 50 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. RMANとは Oracleのバックアップ・リカバリツール • データベースのバックアップ、リストア、 リカバリおよびバックアップの管理を 行うためのクライアント・ユーティリティ • 実行方法は2種類 – OSプロンプトからRMANを起動し コマンドラインで実行 – Oracle Enterprise Manager(EM)の GUIを使用して実行 • バックアップ対象ファイル – 制御ファイル、データファイル、アーカイブログ ファイル、サーバー・パラメータファイル 51 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. $ rman target sys/password@tns名 RMAN> BACKUP DATABASE; RMAN> RESTORE DATABASE; RMAN> RECOVER DATABASE; RMANの構成 Oracleインスタンスの仕組みでファイルにアクセス RMAN サーバー プロセス クライアント バックアップ先ディスク RMANの管理情報をカタログ・データベース に格納すれば、より長期のバックアップ履歴 、多くのターゲット・データベースを管理可能 ターゲット・データベース リカバリ カタログ カタログ・データベース 52 テープライブラリ リカバリ カタログ 制御 ファイル Copyright © 2012, Oracle and/or its affiliates. All rights reserved. アーカイブ ログ データ ファイル 高速リカバリ 領域 RMANを使用すると何ができるか • ホット・バックアップ・モードが不要 – Oracle インスタンスの仕組みでファイルを読む • 運用ミスを減らせる – 操作の大部分を自動化 – データベースのファイル構成が変化しても自動追尾 • バックアップ取得の影響を小さくできる、リストア/リカバリ時間を短縮可能 – Oracleの内部構造を利用するため 53 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. バックアップ、リストア、リカバリ時間を短縮 Oracleの内部構造を利用 • 増分バックアップ – バックアップファイルのサイズを小さく抑える – 頻繁にバックアップを取り、リカバリ時のREDO適用量を減らせる • 高速増分バックアップ – バックアップ取得の影響を小さく • 増分更新バックアップ – リストアを減らす 54 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. バックアップからの時間経過 生成されるREDOログ A A A A A A 更新 最後のバックアップから時間が経過する ほど生成されるREDOログも増えている ⇒ リカバリ時に適用するREDOも増える A B A A B B 更新 A B C A B C データファイル 時間 55 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 最新の状態 頻繁にバックアップを取得すれば リカバリ時間を短くできるのでは 増分バックアップ 累積と差分 A A A A A A BACKUP 更新 A B A A B B A A A A A A A A A A A A 全ブロック(レベル0) 全ブロック(レベル0) BACKUP B B B BACKUP B C B C B B B 更新 A B C A B C 累積増分バックアップ データファイル 時間 C 差分増分バックアップ • レベル0のバックアップからの増分 • 前回のバックアップからの増分 バックアップファイルのサイズを小さく抑えつつ、 リカバリ時のREDO適用量を減らす効果が期待できる 56 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. C 増分バックアップ バックアップの増分の判断 増分バックアップ B B B データベースサーバー A B A A B B データファイル A B A A B B (従来の)増分バックアップ 57 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. フルスキャンし、全データブロックの SCNを調べることで、以前のバックアップ から更新のあるデータブロックを判断 フルスキャンを行うため、 バックアップ取得時の ディスクI/Oの負担は減らない 高速増分バックアップ ブロック・チェンジ・ トラッキング・ファイル 増分バックアップ B データベースサーバー データファイル B B B 以前のバックアップから更新が発生した データブロックをビットマップで記録 B B 010011 110011 001100 110011 A B A A B B 高速増分バックアップ 58 ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'filename' REUSE; Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 更新ブロックのみを読み込むため バックアップ取得時の ディスクI/Oの負担を軽減 増分バックアップ時の読み込みブロック数 SELECT TO_CHAR( COMPLETION_TIME,'YYYY/MM/DD-HH24:MI:SS') as COMPLETION_TIME, FILE#,DATAFILE_BLOCKS,BLOCKS_READ,USED_CHANGE_TRACKING FROM V$BACKUP_DATAFILE ORDER BY COMPLETION_TIME; ブロック・チェンジ・トラッキング無効 同じ COMPLETION_TIME FILE# DATAFILE_BLOCKS BLOCKS_READ USED_CHANGE_TRACKING -------------------- ---------- --------------- ----------- -------------------2008/05/25-16:31:27 2 95528 95528 NO 2008/05/25-16:31:31 4 640 640 NO 2008/05/25-16:31:32 1 89600 89600 NO 2008/05/25-16:31:36 3 30080 30080 NO ブロック・チェンジ・トラッキング有効 減少 COMPLETION_TIME FILE# DATAFILE_BLOCKS BLOCKS_READ USED_CHANGE_TRACKING -------------------- ---------- --------------- ----------- -------------------2008/05/25-16:35:02 2 95528 245 YES 2008/05/25-16:35:06 1 89600 33 YES 2008/05/25-16:35:06 4 640 1 YES 2008/05/25-16:35:10 3 30080 191 YES 59 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 増分バックアップのリストア • データベースにリストアするとき – まずフル・バックアップをデータベースにリストア – その上に増分バックアップをリストア C B C 増分2 リストア3 B B 増分1 リストア2 フル リストア1 A A A A A A データベース 60 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. C B C 増分2 B B 増分1 A A A A A A バックアップ フル 増分バックアップのリストア 増分更新バックアップ • あらかじめ増分を適用したバックアップを作成しておく – 増分適用済みのフル・バックアップをデータベースにリストア C B C 増分2 B B 増分1 A A A A A A A B C A B C データベース 61 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. リストア フル A B C A B C 増分適用済みのバックアップ 増分バックアップのリストア あらかじめ増分バックアップを適用しておく A A A A A A BACKUP 更新 A B A A B B BACKUP B B B A A A A A A RECOVER A B A A B B RECOVER A B C A B C 増分バックアップ 更新 A B C A B C A A A A A A イメージ・コピー (全ブロックのバックアップ) BACKUP C C 増分バックアップ 差分増分バックアップ データファイル 前回のバックアップからの増分 時間 62 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 増分更新バックアップ イメージコピーに増分を適用 増分更新バックアップ (0) BACKUP AS COPY DEVICE TYPE DISK DATABASE; 0. 最初にイメージコピーを取得 (1) BACKUP INCREMENTAL LEVEL 1 DEVICE TYPE DISK TAG ‘tag_name' DATABASE; 1. 増分バックアップ (2) RECOVER COPY OF DATABASE; 2. 増分の適用 基本的な増分バックアップ・コマンドでの手順 (1) BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG ‘tag_name' DATABASE; 1. 増分バックアップ (イメージコピーがなければ取得) (2) RECOVER COPY OF DATABASE; 2. 増分の適用 増分更新バックアップ用の構文での手順 63 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. RMAN まとめ • 増分バックアップ – バックアップファイルのサイズを小さく抑え、リカバリ時のREDO適用量を減らす • 高速増分バックアップ – バックアップ取得のI/Oへの影響を小さく • 増分更新バックアップ – 増分を適用したバックアップを用意しておき、リストア回数を減らす Active Data Guard 環境で上記すべてを行うことができる 64 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. RMANの活用例 スタンバイデータベースで増分更新バックアップ取得 フィジカル・スタンバイ・データベースを 利用してバックアップを取得することが可能 Data Guard RMAN BCT ※ BCT= Block Change Tracking File 高速リカバリ領域 本番 データベース 高速増分 バックアップ RMAN 増分更新 バックアップ ※ Active Data Guard オプションがあれば スタンバイ側で高速増分バックアップを取得可能 65 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. フルバック アップのイ メージコピー テープ装置 イメージコ ピーのバック アップ 本日の内容 • Active Data Guard • Recovery Manager (RMAN) • Flashback テクノロジー 66 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 物理障害と論理障害 • 物理障害: データベース構成ファイルの破損 – 冗長構成を取る – 定期バックアップ • 論理障害:ユーザーやアプリからの誤った変更 – 人が関わる部分のため、発生を抑えることは困難 • 「違うバッチ流してしまった」 • 「違うテーブルを DROP してしまった!」 • 「3時間前の データベースのデータを知りたい!」 発生するという前提に立って 迅速に復旧するための手順を確立しておくことが大事 67 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 論理障害からの復旧 • データベースのPoint-in-Timeリカバリ 1. バックアップ・ファイルからリストア 2. ロールフォワード • Import/Exportによるリカバリ 1. 不整合なオブジェクトの削除 2. Import 3. 処理の再実行 • Flashback によるリカバリ 1. データを取り消す 2. ロールフォワード 68 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. リカバリ時間= データベースのサイズやログの適 応量によって長時間になる リカバリ時間= 取り消すデータ量 (データベースのサイズと無関係) Flashback 機能のための設定 • データを元に戻すための「ログ」が必要 – 多くの Flashback 機能ではUNDOデータを使用 – UNDO以外の設定が必要な Flashback 機能もある 69 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Flashback 機能の種類 参照系 リカバリ系 70 機能名 機能概要 使用する情報 Flashback Query 過去データの参照 UNDO情報 Flashback Version Query 指定した時間間隔のすべての変更履歴を 表示 UNDO情報 Flashback Transaction Query 一定期間ひとつのトランザクションにより行 われた変更を表示 UNDO情報 Flashback Data Archive 一定期間の履歴データを保持して参照 Flashback Archive 領域 Flashback Database データベース全体を過去の特定の時点に 復旧 Flashback Log Flashback Table 表単位でデータを特定の時点に戻す UNDO情報 Flashback Drop 表のDrop操作の取り消し 元の表の領域を残す Flashback Transaction 特定のトランザクションの取り消し REDO情報 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Flashback Database によるリカバリ 迅速なリカバリを実現 • Flashback Databaseによるリカバリ方法 – Flashback Log の適用 – REDOログ及びアーカイブログの適用 • Flashback Databaseによるリカバリの特徴 – 迅速なリカバリ • Flashback Databaseはリストアを必要としないため、データファイルのサイズが増大 した場合でもリカバリ時間はほぼ変化なし • Point-in-Time リカバリに比べて適応するREDOログファイル量が少ない – リカバリ操作が簡単 • FLASHBACK DATABASE コマンドひとつで実行可能 71 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Flashback Database によるリカバリ 従来のリカバリ機能と比較イメージ Point-in-Timeリカバ リの場合 バックアップファイルのリストア ロールフォワード Flashback Database によるリカバリの場合 Flashback Log の適用 72 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 時間 Flashback Database の制限 可能なオペレーションと不可能なオペレーション • FLASHBACK DATABASE コマンドでリカバリ不可能なオペレーション – 現行のデータファイルが損失/損傷した場合 • Flashback Log を適用できないため – 制御ファイルをリストア/再作成した場合 • 制御ファイルでFlashback Logを管理するため – NOLOGGING 操作実行中 • REDOログやアーカイブログが存在しないため 73 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Flashback Database のための設定 1. Flashback Log モードを有効にする Flashback Log モードを有 効にしている期間 2. 保証付きリストアポイントを作成する 保証付きリストアポイントを作成した時点 時間 時間 リカバリ可能 リカバリ可能 • Flashback Log モードが有効である期間内の 任意の時点にリカバリ可能 • 有効期間内の全変更をFlashback Log として 保持(ログ量が多い) • 保証付きリストアポイントを作成した時点にのみ リカバリ可能 • 保証付きリストアポイントに戻るためだけの Flashback Log を保持(ログ量少ない) • OLTP系の処理時など、リカバリ時点を想定で きない場合に有効 • バッチ処理時など、リカバリ時点がある程度決 定している場合に有効 74 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Flashback Database の仕組み バッファ ・キャッシュ Flashback バッファ REDOログ RVWRプロセスが、データ・ブ ロックに対する変更を非同期に 取得、ファイルに書き出す A SCN#110 (09:00) SCN#120 (10:00) A B B B C ③ REDOログを使って リカバリ・ポイントまで ロールフォワード 75 C A B Copyright © 2012, Oracle and/or its affiliates. All rights reserved. SCN#110 (09:00) SCN#120 (10:00) A Flashback Log ファイル RVWR B ① FLASHBACK DATABASE TO TIMESTAMP 09:30 ②データブロックに Flashback Logを適用する 時間 Flashback Database の活用例 本番DB Data Guard プライマリ・サイトのDBサーバーの物理的 な障害(CPUやメモリ、ネットワークの障害) によって、フェイルオーバーを実施 本番DB Flashback Database を利用して 旧本番DBをフェイルオーバー時点に戻す 新本番データベースと旧本番データベース で同期を再開する 時間 本番DB スタンバイ Data Guard 迅速に耐障害性を障害発生前の状態に戻せる 76 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. スタンバイ 本番DB まとめ • Oracle Maximum Availability Architecture(MAA)を構成するために 必要な下記のテクノロジーを解説しました – Active Data Guard – Recovery Manager (RMAN) – Flashback テクノロジー 77 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 参考情報 • MAA(Oracle Maximum Availability Architecture) – http://www.oracle.com/technetwork/jp/content/maa-094615-ja.html • Oracle GRID Center – http://www.oracle.com/jp/gridcenter/index.html • OTN セミナー オンデマンドコンテンツ – http://www.oracle.com/technetwork/jp/content/index-086873-ja.html 78 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 参考情報 • 今日ご紹介した機能をご自身で体験頂けます (Oracle VM Virtual Box 仮想マシンイメージ のダウンロード) – Oracle Data Guard Basic Hands On Training • http://www.oracle.com/technetwork/jp/serverstorage/virtualbox/community/basic-dg-handson-webpage-1413406-ja.html – 壊して体感する!Oracle Data Guard による障害復旧対応ハンズオン • http://www.oracle.com/technetwork/jp/server-storage/virtualbox/community/ddddg-handson-webpage-1413408-ja.html 79 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. ご質問・ご相談はOpenWorld終了後もお受けしております あなたにいちばん近いオラクル Oracle Direct 0120-155-096 (平日9:00-12:00 / 13:00-18:00) http://www.oracle.com/jp/direct/index.html Oracle Direct 検索 各種無償支援サービスもございます。 80 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 81 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 82 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.