フラッシュバックデータベース機能と従来のリカバリ方法の違い

このQ&Aのポイント
  • フラッシュバックデータベース機能と従来のリカバリ方法の違いについてまとめました。
  • 従来のリカバリ方法に比べて、フラッシュバックデータベース機能は復旧までの手間と時間を短縮できます。
  • フラッシュバックデータベース機能は新機能の一つであり、バックアップリストアに時間がかからず、REDOログの適用遅延がなくなります。また、予期しないエラーの訂正も可能です。
回答を見る
  • ベストアンサー

フラッシュバックデータベース機能と従来のリカバリ方法について

OracleBronzeDBA10gを勉強中です。 Oracle管理経験はありません。 データベースのリカバリ作業のところで躓きました。 従来のリカバリ方法(RedoログファイルとデータファイルのBKファイルのリストアによるリカバリ) とフラッシュバックデータベース機能の違いについてご教授下さい。 従来のリカバリ方法は、復旧までに手間と時間がかかりそうですね。 しかしフラッシュバックデータベース機能を利用すると短時間で復旧できそうです。 http://otndnld.oracle.co.jp/products/database/oracle10g/htdocs/D-80/Flashback_Overview.htm ここには 『 フラッシュバック・データベースを使用するためのパフォーマンス・オーバーヘッドは2%未満です。 本番データベース用のパフォーマンス・オーバーヘッドを少しでも犠牲にしたくない場合は、フラッシュバック・データベースの使用を慎重に検討する必要があります。 ・・・(中略)・・・ (フラッシュバック・データベースには)次のようなメリットがあります。 ●バックアップのリストアにかかる時間が短縮される。 ●スタンバイ・データベースのREDOの適用遅延がなくなる。 ●予期しないエラーの訂正。 』 と載っています。 Oracle10gからの新機能との事ですが、フラッシュバックデータベース機能を利用してリストアするなら、 アーカイブRedoログを取っておく必要はないということでしょうか。 あるいはREDOログによる従来の障害対応にはできるけれど、フラッシュバックデータベース機能には出来ない事があるのでしょうか。

  • Oracle
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • 3rd_001
  • ベストアンサー率66% (115/174)
回答No.1

まずはマニュアルを参照してください。 ・Oracle Flashback Databaseの制限事項 http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/backup.102/B19193-02/rpfbdb.htm#2810 >Oracle Flashback Databaseで実行できるのは、Oracleデータベースで行われたデータ・ファイルへの変更の取消しのみです。 >これは、メディア障害を修復したり、誤って削除したデータ・ファイルをリカバリする場合には使用できません。 上記マニュアルから抜き出しましたがディスク破損などのメディア障害に「Flashback Database」は対応していません。今までどおり、データファイルのバックアップを戻してRedoログを適用します。 Oracle Flashback Databaseは論理バックアップです。ある時点のデータを戻すために使用するものです。物理バックアップは通常通り取りましょう。

rafty515
質問者

お礼

ありがとうございます。 色々と誤解が解けました。(^^)

関連するQ&A

  • OracleにおけるH/W障害によるリカバリ

    Oracleデータベースのバックアップ/リカバリについて検討しているのですが、 サーバ本体のH/W障害等により、 Oracleシステム(或いは、OS自体)が破壊された場合の リカバリ方法が見当つきません。 Oracleにおける各データ(表領域や制御ファイルなど)に障害が起こった場合は、 ・各表領域データファイル ・制御ファイル ・アーカイブRedoログ のオンラインバックアップにより対処できるということは分かってます。 しかし、Oracle自体が起動できないときは、 例えば、予備のサーバ(DBデータの同期は一切無し、 全く新規のサーバと考えてください)で復旧したいとき、 どのように対処したらよろしいのでしょうか? 上記のオンラインバックアップでは復旧できないのでしょうか? また、Export/Importによる論理バックアップで対処できるのでしょうか?

  • リストアとリカバリの違い

    只今Oracleの勉強をしています。 抽象的な質問になってしまうかもしれませんが、 Oracleでいう「リストア」と「リカバリ」は何が違うのでしょうか? Oracleの場合はリストア→リカバリの順番で処理させてる 場合があると思います。 一般的にはリストアはバックアップの対義語でリカバリは 初期状態に戻すようなものだと理解しているのですが、 それだとOracleでは「バックアップファイルを戻してから Oracleインストール時にまで戻す」というような感じに取れて しますのですが実際はどのように動き何が違うのでしょうか? よろしくお願いします。

  • Oracleデータベースの復旧方法

    識者の方々、どうかお教えください。 昨日データメンテナンス中に、保守プログラムがとまってしまいました。 サーバーを再起動して、Oracleをスタートしたところ、データベースに接続できなくなっていました。 色々調べましたが、以下の状態から進むことができません。 恥ずかしながらバックアップはとっていませんでした。 なんとか復旧する手だてはあるのでしょうか? -------------------------------------------- SQL>connect sys/Oracle as SYSDBA アイドル・インスタンスに接続しました。 SQL>startup ORACLEインスタンスが起動しました。 Total System Global Area 1826944268 bytes Fixed Size 70924 bytes Variable Size 49324416 bytes Redo Buffers 77824 bytes データベースがマウントされました。 ORA-01589: データベースをオープンするにはRESETLOGSまたはNORESETLOGSを使用する必要があります SQL> alter database open resetlogs; alter database open resetlogs * 行1でエラーが発生しました。: ORA-01152: ファイル1は十分に古いバックアップからリストアされていません。 ORA-01110: データファイル1: '/opt/oracle/oradata/o10g/system01.dbf' SQL>recover database using backup controlfile until cancel; ORA-00279: 変更 25084677(04/20/2009 12:11:39で生成)にはスレッド1が必要です。 ORA-00289: 検討すべきログライル: D:\ORACLE\ORA81\RDBMS\ARC87062.001 ORA-00280: 変更 258365040(スレッド1)は順序番号 87062に存在します。 ログの指定:[<RET>=suggested | filename | AUTO | CANCEL} auto ORA-00308: ORA-27041: OSD-04002: ファイルをオープンできません。 O/S-Error: (OS 2) 指定されたファイルが見つかりません。 ORA-01547: 警告:RECOVERは成功しましたがOPEN RESETLOGSが次のエラーを受け取りました。 ORA-01194: ファイル1は一貫した状態にするためにさらにリカバリが必要です。 ORA-01110: データ・ファイル1:D:\ORACLE\ORADATA\MYCOMPANY\SYSTEM01.DBF ----------------------------------------------------------

  • Oracle RMANでのリカバリ

    ORACLE9iのRMANでリカバリの検証をしていますが、 上手くいきません。 RMANに詳しい方、ご教授下さい。 運用時、RMANのバックアップ(フルバックアップ、アーカイブログバックアップ)は日々行っており、 OS丸ごとのバックアップは月ごとに行っています。 それで、HDD障害が起こったときに、OS丸ごとバックアップを利用してバックアップした日(月初)に戻して、 本日のRMANのバックアップを利用して、リストアができるかを検証しています。 [環境] Oracleのバージョン[Oracle9i 9.2.0.7.0] アーカイブモード [検証内容] (1).DBの設定、RMANの設定 -> (2).REDOログのCURRENT確認 -> (3).Windowsの機能でバックアップ -> (4).REDOログが上書きされてアーカイブログがはかれるまでDBのテーブルにデータを追加 -> (5).RMANでバックアップ -> (6).REDOログのCURRENT確認((2)のときのCURRENTが異なるようにした) -> (7).(3)のバックアップを使ってWindowsの機能で復元 -> (8).(5)のRMANバックアップデータ (フルバックアップデータ、アーカイブログバックアップデータ)を置換して、RMANのリストア (2)の時点のREDOログの状態を「select * from v$log」で確認したところ、 GROUP#2がCURRENTでした。 GROUP# SEQUENCE# ARCHIVE STATUS 1 2 YES INACTIVE 2 3 NO CURRENT 3 1 YES INACTIVE (6)の時点のREDOログの状態を確認したところ、 GROUP#3がCURRENTでした。 GROUP# SEQUENCE# ARCHIVE STATUS 1 11 YES INACTIVE 2 12 YES ACTIVE 3 13 NO CURRENT (8)のとき、「RMAN> restore database;」のコマンドを打ったとき、下記のエラーが出てきて、 リストアできませんでした。 エラー「ORA-19612:データ・ファイル1はmissing or corrupt dataのためリストアされませんでした。」 CURRENTの状態、位置によってリストアできたりできなかったりするのでしょうか? SEQUENCE#の値を変更、もしくは、アーカイブログのバックアップから、REDOログをリストア する必要があるのでしょうか? または、他に必要な設定をする必要があるのでしょうか? リカバリするときのコマンドは、下記の通りです。 SET ORACLE_SID=<SID名> rman target / catalog rman/rman@RMAN RMAN> STARTUP NOMOUNT RMAN> RESTORE CONTROLFILE; RMAN> ALTER DATABASE MOUNT; RMAN> RESTORE DATABASE; RMAN> ALTER DATABASE OPEN RESETLOGS; 前回、同じようなやり方でリストアしたときは、上手く行きました。 そのときは、下記のような状態でした。 ((4)のときのデータ件数は少し異なり、(6)の時点でGROUP#1がCURRENTでした。) GROUP# SEQUENCE# ARCHIVE STATUS 1 11 NO CURRENT 2 9 YES INACTIVE 3 10 YES ACTIVE 以上、宜しくお願いします。

  • Oracle のREDOログアーカイブについて

    Oracle のREDOログアーカイブについて Oracle のアーカイブREDOログファイルの基本的な事を教えてください。 [ 運用条件 ] オンラインREDOログ三多重化 (メンバ 3つ)、アーカイブログモードあり、 自動アーカイブ、アーカイブプロセス数は2、データガードなし 上記条件で全REDOログファイルに障害がない場合、ARCHプロセスは多重しているどのREDOログメンバからアーカイブREDOログファイルを作成するのでしょうか。使用版数はOracle 10g R2です。

  • ORACLE9iのリカバリ方法

    ORACLE9iのリカバリ方法を教えてください。 Windows server 2003 R2、Oracle9iを使用しています。 Cドライブにoracleをインストール、Dドライブにoracleのデータを格納しています。 Cドライブのハードディスクが駄目になったので、Cドライブのハードディスクを交換して Windows server 2003 R2をインストールして Windowsの標準機能のバックアップ(バックアップデータには、system stateも含んでいます。)からバックアップしておいたデータを復元させました。 ファイル単位のデータや、オラクルのサービスは復旧したのですが、オラクルのテーブルなどが開きません。 SI ObjectBrowserでオラクルを開こうとしたとき、 「ORA-01219:データベースがオープンしていません。固定の表/ビューに対する問合せのみ可能です。」 というメッセージが表示されます。サービスの再起動をしましたが、同じようなエラーがでます。 SQLPLUSで、alter database openのコマンドを入れてデータベースをオープンさせようとしたところ、 次のようなエラーが出てきました。 ORA-01122:データベース・ファイル8の照合検査でエラーが発生しました。 ORA-01110:データ・ファイル8:'D:ORACLE^ORADATA\SFRES\USER01.DBF' ORA-01207:ファイルが制御ファイルより新しくなっています。-古い制御ファイルです。 どなたか、解決方法をご存知の方、ご教授ください。

  • UNDOデータは物理データベースの何処?

    物理データベースはデータファイル、制御ファイル、REDOログファイルで構成されていますが、 UNDOデータは、REDOログファイルに格納されているのですか? 変更開始前のデータはREDOログファイルから取り出されるのですか? それとも、REDOログファイルからデータファイルにUNDOデータを作成して、データファイルから取り出しているのでしょうか?

  • データベースの復旧方法

    先日サーバーのOSが崩れて(レジストリが壊れたようです)、サーバーの起動ができなくなりました。 OSを再インストールせずに、レジストリの復旧を試みていますが、最悪の場合OSの再インストール、Oracleの再インストールも念頭にいれています。 SQL Serverの場合、データベースのアタッチをすれば現存のDBを動かすことができます。 Oracleの場合は、どのような方法でデータベースを復旧するのでしょうか? リスナーの再構築でよろしいのでしょうか? OS:Windows Server 2000 DB:Oracle 8 よろしくご教授のほどお願いします。

  • データベースをオープンできない

    Oracle(10.2.0.5)のパッチを当てた後、データベースをオープンすることができませんでした。 原因と対処法にについてわかりましたら、教えて頂けますか。 SQL> startup ORACLEインスタンスが起動しました。 Total System Global Area 1258291200 bytes Fixed Size 2067624 bytes Variable Size 318767960 bytes Database Buffers 922746880 bytes Redo Buffers 14708736 bytes データベースがマウントされました。 ORA-01092: Oracleインスタンスが終了しました。強制的に切断されます

  • Oracle10gのデータベースの移行について

    Oracle10gのデータベースの移行について質問です。 Oracle10g が稼動しているサーバ機があります。 老朽化の為、新しいハードウェアへ入れ替える事になりました。 OSは、入れ替え前も入れ替え後もWindows Server 2003です。  DB: Oracle10g → Oracle10g  OS: Windows Server 2003 → Windows Server 2003 現行のサーバ上では4つのインスタンスが稼動しています。 新しいサーバ上に、同じ構成でそのまま移行する方法を検討していますが、下記のような方法で大丈夫なものでしょうか? (1)新しいサーバ上にOracle10gを初期データベースなしでインストールする (2)新しいサーバ上で新規のOracleインスタンスを4つ作成する (ORADIMツールを使用) (3)現行のサーバ上の各インスタンス・Oracle関連サービスを停止し、オフラインでデータベース関連のファイルのバックアップを取得する (4)現行のサーバから、新しいサーバへ、オフラインで取得したバックアップファイルを転送する (5)新しいサーバ上の各インスタンス・Oracle関連サービスを停止する (6)新しいサーバ上から、(3)で取得したファイルと同じファイルを削除する (7)新しいサーバ上で、バックアップしたファイルを現行のサーバと同じ位置に配置する (8)新しいサーバ上のOracle関連サービスと各インスタンスを起動し、動作を確認する どなたか、回答宜しくお願い致します。