• ベストアンサー

DBバックアップ方式検討

入社3ヶ月のペーペーです。先週初めてOracleに触れました。今週なぜかDBバックアップの方式検討なぞを任されております。 前提条件として ・完全回復。 ・取得タイミングは日次および週次 ・取得可能な時間帯は日次で夜20:00~翌朝08:00の間、週次で土曜08:00~日曜24:00 ・全面障害、部分テーブル障害の双方に対応可能であること ・リカバリ時間は傷害検知から1時間以内 …を出されています。これに対し、 ・アーカイブログモードで運用 ・週次でコールドバックアップ取得 ・日次でホットバックアップ取得  →日次でDB停止時間は30分しか取れないので   コールドは無理だろう  →完全回復を求めるならば論理バックアップは   使えないだろう 思っているのですが、方式検討の際にこのほか勘案しなければならないのはどのような事でしょうか?また増分バックアップや差分バックアップを日次で取得するというのは、普通にホットバックアップを取得するのとどのように違いが出てくるのでしょうか?

  • Oracle
  • 回答数5
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

>週次でコールドを取る時にもこの作業は必要ですか? >日次のホットの時は、バックアップ中の変更履歴がREDOに書き込まれるとのこと、 >からこの操作が必要なのかな、と現時点ではイメージしていますが… >見当違いな事を言っていたら申し訳ありません。 コールドって停止してバックアップを取るんですよね?認識的にはあっていると思います。 コールドは一貫性バックアップなのでREDOログはバックアップする必要はないです。 >制御ファイルを多重化することで対応出来ませんか? 制御ファイルが全損した(多重化したものすべて破壊された)場合は?ってことです。 #私はRMANでバックアップしてますがリカバリーカタログは使ってないです(^^;。 >皆さんならどのように決めるのでしょうか…? 私はDBのエディション(SE/EE)、バージョン、DB全体容量、バックアップ時間、DBが停止可能かどうか、リカバリに求められる時間などでバックアップ計画を決めます。 (聞きたい事の回答になってないと思いますが(^^;)

since1983
質問者

補足

初めに頂いたご回答に対してですが、ご指摘の通り リカバリの許容時間1時間というのは私の誤解でした。 DBサーバがクラスタ化されているので、副DBサーバに 切り替えれば1時間も掛からずサービスは復活する、 とのことでした。またSANに障害が発生した時の リカバリ時間は、相応にとってもらえるようです。 具体的な許容時間は聞くことが出来ませんでしたが。 ○制御ファイルの全損 改めて確認したところ、 今回DBサーバはクラスタ化されていて、そこにSANを マウントしてデータファイルを置くとのことです。 ということはSANが壊れたら多重化も意味無しですね。 その場合は前日取得したバックアップで復旧できる 範囲まで復旧でOKとのことでした。 何となく私のほうも何を聞きたかったのか、 不明瞭になってきました。 というのも、リカバリ許容時間のところで 勘違いをしていたため、それが間違いと分かった今、 週次でコールド、日次でアーカイブログを取れば 充分じゃないかとも思われてきたからです…。 もう少し前提条件と知識を整理して再度考えてみます。

その他の回答 (4)

  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.5

インスタンスリカバリとメディアリカバリについて混同されていませんか? 障害の種類とリカバリについて区別がついていないようですので バックアップ・リカバリマニュアルを一読することをお勧めします。

  • entree
  • ベストアンサー率55% (405/735)
回答No.3

> ○許容リカバリ時間について > 現時点で詳しいことは分からず、また分かっていても > あまり書くのは良くない事なんですが、証券会社の > 口座を管理するDBで、口座数は4~5万程度です。 > この規模で許容リカバリ時間1時間はきついですか? 口座数より、データ件数やバイト数、更新頻度を考慮する必要があります。 > ○完全回復について > 多重化したオンラインREDOの全てがだめになった場合は > アーカイブログで戻せる限りのところまで戻す、という > つもりでいます。方針として完全回復を目標にする、 > ということです。 であれば、バックアップの直後に REDO ログ・ファイルのアーカイブを行い、アーカイブ・ログをバックアップする必要がありますね。ちなみに、カレント REDO ログ・ファイルが全損した場合は不完全リカバリとなります。 > ○全面障害について > メディア障害を含む、とのことです。外部メディアに > バックアップ退避~については、2世代は別筐体HDDに、 > それより前の1世代はテープに出す、とのことです。 > 意味がはっきりわかって聞いていたわけではないですが 稼動用 HDD の障害、1 世代前バックアップ用 HDD 障害が同時に発生した場合、2 世代前バックアップから戻す必要があるかと思いますので、その時間についても見積もる必要があるかどうかを明確にする必要があるかと思います。 > ○リカバリカタログ使用有無 > リカバリカタログはRMAN使用時に必要となるものです > よね?RMANを使わない、というのは現実的ではありま せんか? Oracle では RMAN かつリカバリ・カタログの利用を推奨していますが、リカバリ・カタログは必須ではないため、別に使用しなくても問題はありません。ただし、リカバ・リカタログが存在しない場合、制御ファイルが全損した場合のリカバリが極めて困難になります。

since1983
質問者

補足

回答ありがとうございます。 ○口座数より、データ件数やバイト数、更新頻度… データ容量の見積もりがはっきりしてきた時点で再度考えたいと思います。 ○バックアップの直後に REDO ログ・ファイルのアーカイブを行い、アーカイブ・ログをバックアップ… 週次でコールドを取る時にもこの作業は必要ですか?日次のホットの時は、バックアップ中の変更履歴がREDOに書き込まれるとのこと、だからこの操作が必要なのかな、と現時点ではイメージしていますが…見当違いな事を言っていたら申し訳ありません。 ○全面障害について 二重障害のことまでは考えなくて良いとのことでした。 ○リカバリカタログについて 制御ファイルを多重化することで対応出来ませんか?これだとバックアップ中にメディア障害が発生すると、そのときのバックアップ情報を格納している制御ファイルが失われるから…という認識でよろしいでしょうか?

回答No.2

>・完全回復。 一部破壊状態によっては完全復旧できない場合があります(アクティブのオンラインREDO全破損とか・・・)。 >・リカバリ時間は傷害検知から1時間以内 10gでかつ比較的小さいDBなら新機能を駆使して可能にできるかも。(ただし、バックアップファイルが運用データファイルになっちゃいますが。) それ以外の場合、完全回復はk_o_r_o_c_h_a_nさんのおっしゃるように難しいと思います。 (30分でコールドバックアップができないサイズならなおさら・・・) >・全面障害、部分テーブル障害の双方に対応可能であること 全面障害は何を想定しますか? ディスク障害とかも入りますか? 外部メディアへのバックアップファイルの退避とかも必要そうですね。 >方式検討の際にこのほか勘案しなければならないのはどのような事でしょうか? リカバリーカタログの使用有無とか、使う場合のリカバリーカタログのバックアップとか・・・。 >また増分バックアップや差分バックアップを日次で >取得するというのは、普通にホットバックアップを >取得するのとどのように違いが出てくるのでしょ >うか? バックアップ時間できるだけ短くしたい場合やバックアップファイルサイズを小さくしたい場合等に増分/差分のバックアップを使います。 #処理時間は10g以前ではあまりあてにできないですけど。 増分/差分バックアップは対象表領域の全体バックアップをリストア後に適用する必要が出てきます(前回のバックアップの差分や増分になるわけですから)。よってリカバリーする時間と手順は増えることになります。

since1983
質問者

補足

自分でも書きながら分かっていない部分があって…。申し訳ありません。 ○許容リカバリ時間について 現時点で詳しいことは分からず、また分かっていても あまり書くのは良くない事なんですが、証券会社の 口座を管理するDBで、口座数は4~5万程度です。 この規模で許容リカバリ時間1時間はきついですか? ○完全回復について 多重化したオンラインREDOの全てがだめになった場合は アーカイブログで戻せる限りのところまで戻す、という つもりでいます。方針として完全回復を目標にする、 ということです。 ○全面障害について メディア障害を含む、とのことです。外部メディアに バックアップ退避~については、2世代は別筐体HDDに、 それより前の1世代はテープに出す、とのことです。 意味がはっきりわかって聞いていたわけではないですが ○リカバリカタログ使用有無 リカバリカタログはRMAN使用時に必要となるものです よね?RMANを使わない、というのは現実的ではありませんか? …結局、週次でオフラインのフルバックアップ取得は 99%決定事項なのですが、日次で何を組み合わせるか、 確たる論拠を持って決めるに至っていません。 皆さんならどのように決めるのでしょうか…?

回答No.1

バックアップとリストアそれぞれに要する時間は? >・リカバリ時間は傷害検知から1時間以内 大規模障害時に、1時間で全リストア及びリカバリ処理が出来るだけの能力があるんですか? そうでなければ、”障害検知から1時間以内”での復旧など無理な話です。 1時間以内を厳守するなら、スタンバイなど他の手段を考える必要が出てくるかと思います。

関連するQ&A

  • DBバックアップについて教えてください。

    DBバックアップについて教えてください。 Windows Server 2008のバックアップ機能を利用して、 増分バックアップを日次で実施したいと考えております。 (本当は差分バックアップがいいのですが・・) 色々調べた結果の私のイメージなのですが、 初日にフルバックアップを実施した後は、 翌日から増分でバックアップを取るわけですよね? (質問(1)) であれば、リストア時の運用を考慮すると、 リカバリポイントである初日のフルバックアップを定期的に 取り直した方が効率的ですよね?? (質問(2)) また、毎日定刻が来たら自動でバックアップされると思うのですが、 日々取ったバックアップファイルはどんどん蓄積されていくんでしょうか。 それともどこかのタイミングで自動的に古いファイルは削除されますか? でないと容量がすぐに圧迫されますよね。。 現在サーバの使用領域は1500Gバイトなので、外付け2TバイトHDDを購入しようと 考えております。 毎日増分バックアップするならあっという間に容量オーバーになる気がするのですが。 アドバイスをお願いいたします。

  • オラクルのバックアップ・リカバリについて

    入社一年目(ようやく丸一年)の新人です。文章に不備があるかもしれませんがご教授ください。 Windows上でOracle10gをアーカイブログモードで運用しているバックアップの設計を行っています。 そこで、次のように行いたいと思っています。 月~土がオンラインバックアップ(ホットバックアップ) 日曜日はオフラインバックアップ(コールドバックアップ) ここで、質問なのですが、次のようなことがしたいと考えています。 オンラインバックアップの取得方法などの資料をみると、すべてのデータファイルを取得することが 書かれていますが、オンラインバックアップでは、データファイルは取得せず、 日曜日のオフラインバックアップで取得したバックアップにオンラインバックアップで取得した アーカイブログ・オンラインREDOログを適用しリカバリすることは可能なのでしょうか? たとえば、水曜日にDBがクラッシュしたとした場合。 (1)日曜日のオフラインバックアップで日曜日の状態に復旧する。 (2)火曜日に取得したオンラインバックアップを使用し、 日曜日のオフラインバックアップ以降のアーカイブログと、オンラインRedoログを適用し、 火曜日の状態に戻す。 こういったことって可能なのでしょうか? また、関連するホームページなどありましたら教えてください。 わかりにくい文章で申し訳ありませんがよろしくお願いします。

  • Oracleのバックアップに関して

    すいません。Oracle初心者です・・・。質問があります。 OracleデータをARCserveにてDATテープにバックアップする事を考えているのですが、24時間サービスを止めれない運用で動いておりますので、 (1)アーカイブログモードに変更し、ホットバックアップする。 (2)サービスを止めずにEXP.EXEにてDMPをはき出しそのDMPファイルをバックアップする というような2種類の方法を考えているのですが、どちらにした方が良いか迷っています。上記2種類を考えると万が一障害がおきた時復旧時間&手間を考えると(1)の方が早いと思うのですが、アーカイブログを一定感覚でデータをはきだしするのでパフォーマンスが落ちると耳にしました。 そこで、質問なのですが、 Q1.もし(2)で行った場合、EXP.EXEでDMPをエクスポートしている最中にDBに書き込みがあった場合うまくエクスポートできるのでしょうか? Q2.(1)で行った場合、アーカイブログだけを毎日テープで取ればいいのでしょうか? 以上もしお分かりになる方がおられましたら宜しくお願いいたします。

  • ホットフルバックアップとホットDIFFバックアップについて

    先日質問をさせていただいた「ひで」です。 オラクル9iで、疑問点が出てきてしまったので質問させてください。 月~土(1時間毎) 差分バックアップ(ホット) 日   フルバックアップ(ホット) このスケジュールで金曜にDBが壊れたとして金曜のアーカイブログから1時間前の状態に復旧させることは可能なのでしょうか?(過去1回はフルバックアップを行っている事を前提) 調べた限りではフルバックアップ(コールド)、差分バックアップ(ホット)では可能との記述はあるのですが、ホット、ホットの成功例を探し出すことができませんでした。

  • RMANでリストア→DBオープンする方法

    RMANで毎日DB全体をオンラインバックアップしています。 本日DB全体のリカバリが必要となったのですが、 「障害が発生した日の早朝に取得したバックアップをリストアした時点の状態に復旧して欲しい」とお客様から要望が来ました。 RMANで、リストアしただけでDBを起動させる方法ってあるのでしょうか? restore database;のあと、resetlogsオプションつきでDBを起動させようとしましたが、「不完全リカバリでないためresetlogsは使用できません」とエラーで怒られてしまいました。当然ですよね。。。 ちなみに、コールドバックアップは取得していません。 DB環境は以下の通りです。 OS:Windows2003 R2 SP2 DB:OracleSE 10.2.0.1 なにか良い方法がありましたら教えていただけませんでしょうか。 よろしくお願いします。

  • ARCServe テープの集合体(?)について

    ARCServにてバックアップを取得予定ですが、テープ1本に バックアップデータが入りきらない見積もりのため、 1回のバックアップ(日次バックアップ)でテープ2本使えるように 設定を行いたいと思います。 メディアプールマネージャを見ても設定箇所がわかりませんでした。。。 ■日次バックアップ(フルバックアップ) 月曜日~金曜日 1日2本×5日=10本 ■週次バックアップ(フルバックアップ) 土曜日のみ 1本 それぞれ保存期間は次のバックアップが来るまでです。 よろしくお願いします。

  • オラクルバックアップについて

    オラクル初心者で、はじめて、バックアップを行います。 わかりにくい文章ですが、宜しくお願いします。 現在、Oracle9iをアーカイブログモードで運用しています。 そこで、下記のように、OSコマンドによる差分バックアップを計画しております。 日~金がオンラインバックアップ(ホットバックアップ):差分 土曜日はオフラインバックアップ(コールドバックアップ):フル オンラインバックアップでは、オンラインREDOログファイルのアーカイブ(alter system archive log current)を実行後に,アーカイブログのみ取得しようと考えておリます。 リカバリについては、土曜日のオフラインバックアップで取得したバックアップにオンラインバックアップで取得したアーカイブログを適用しようと考えております。 そこで質問になります。 (1)アーカイブログを取得する際に、バックアップモードの変更・解除はいらないという認識でよろしいでしょうか? (いろんな資料を見ると、バックアップモードについては書かれていないので、不安で質問いたしました。) (2)オンラインバックアップでの制御ファイルのバックアップは必要ないということでよろしいのでしょうか? (3)オンラインREDOログファイルのアーカイブ(alter system archive log current)を実行についても、注意点等あれば、ご教授ください。 そのほかに、気になる点があれば、ご指摘ください。 また、関連するホームページなどありましたら教えてください。 説明不足な点があるかもしれませんが、宜しくお願い致します。

  • クラスタリングとレプリケーションの意味と違い

    1)クラスタリングの意味 クラスタリングは「複数のコンピュータを全体で一つのコンピュータであるかのように動作させる技術」とDB本にあり、さらにそれはホットとコールドスタンバイの2種類あるとありました。ただ、どちらの場合であっても「共有ストレージ上のDBはひとつ」とあったので、そのひとつのDBに障害があった場合には、復旧させることはできないのではないかと思うのですが… ホットスタンバイとは、障害時にすぐにDBもアプリも何事もなかったように待機サーバに切り替わり通常処理を行えると思っていたのですが、これは認識違いでしょうか? 2)レプリケーションとの違い 「共有ストレージ上のDBはひとつ」であるとすれば、レプリケーションは「ネットワーク上に同じ内容のデータベースを複数台用意し常に同期される構成」であるので障害時には別のDBを継続使用できるので耐障害ではレプリケーションの方が優れているのではないでしょうか?

  • WindowsServerバックアップ

    よろしくお願いします。 Windows 2008R2サーバを Active Directoryサーバとして稼動しています。 ※CドライブとDドライブで構成しています。 このサーバのシステムバックアップを 「WindowsServerバックアップ」で取得しようと考えています。 目的としては、仮にOSの障害でサーバが起動しない事態となった場合、 これをシステム単位で復元することです。 ※つまりCドライブとDドライブをバックアップ時の状態に戻す 「WindowsServerバックアップ」でこの要件は実現できるのでしょうか?。 それとも「ベアメタル回復」を機能として持つ有償製品でないと 難しいでしょうか?。 ※Symantec社など アドバイスを頂けると助かります。

  • Backup exec 差分からのリストア

    Backup exec で、週次のフルバックアップと日次の差分バックアップを取得しています。 これまで、私の認識では、 例えば6/20のデータへ戻したければ、リストアの新規ジョブから、「リソース別」から「6/20のスナップショット」から特定のフォルダを選択し、リストアを実行すれば、 フルバックアップ+6/20までの差分バックアップを適応して、6/20の状態にデータを復元してくれると考えていました。 しかし、先ほど実行したところ、6/20の差分バックアップ分のデータ(8MB程度)しか復元されませんでした。 最後のフルバックアップの同じフォルダのデータは60MBあります。 つまり、6/20の状態に戻せば、60MB前後のデータ容量になるはずで、8MBというのはおかしいです。 差分バックアップを取得している場合、自分でルフバックアップからリストアして、その後差分バックアップからリストア。と2段階でリストア作業を実施しなければダメなのでしょうか?