• ベストアンサー
  • 困ってます

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

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

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数294
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.2
  • msystem
  • ベストアンサー率42% (79/186)

>代替サーバに適用する「初期化パラメータファイル」の内容や >データベースファイルのロケーション(PATH)は、 >全く同じでなければならない、 初期化パラメータファイルの内容、ファイルロケーションは必ずしも同じでなくてもかまいません。 ただしそのためには、データベース作成時に、変更した「初期化パラメータファイル」から新たな制御ファイルを作る必要があります。(データベースファイルは再作成の必要はありませんが、おそらく、コールドバックアップでなければならないかも知れませんので、まったくいっしょのほうがよいかもしれません。) ただ、講習会の中では、制御ファイルを再作成することで、「初期化パラメータファイル」の変更(つまりはデータベースファイルのパスの変更)は大丈夫であるとの説明は、聞きました。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

なるほど、よく分かりました。 自分でもいろいろ試してみたいと思います。 ありがとうございました。

その他の回答 (1)

  • 回答No.1
  • msystem
  • ベストアンサー率42% (79/186)

3つのファイルに加え、初期化パラメータファイルとデータベース作成スクリプトがあれば復旧できます。 代わりのサーバーに、Oracleをインストールし、バックアップの初期化パラメータファイルと、データベース作成スクリプトでデータベースを作成し、残りの3つのファイルをコピーすればできます。 Export/Importでも基本的には手順は同じです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

なるほど、よく分かりました。 自分でもいろいろ試してみたいと思います。 ありがとうございました。

質問者からの補足

早速のご回答ありがとうございます。 なるほど。 代替サーバに適用する「初期化パラメータファイル」の内容や データベースファイルのロケーション(PATH)は、 全く同じでなければならない、 ということですよね?

関連するQ&A

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

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

  • 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:ファイルが制御ファイルより新しくなっています。-古い制御ファイルです。 どなたか、解決方法をご存知の方、ご教授ください。

  • Oracle9i(9.2.0.8) のリカバリ評価について

    お世話になります。 Oracle9i(9.2.0.8) (Windows Server 2003 SP2)の リカバリ評価について検討中です。 下記、3パターンのの評価を実施しようとしておりますが、 あまりOracleを知らず、評価方法がわからず、困っております。 どのように実施すれ良いでしょうか? なお、アーカイブログモードにて運用します。 どうぞ、アドバイスのほどよろしくお願い致します。 1.Cドライブ、Dドライブに分散(複製)してREDOログ/アーカイブログを 出力させている場合、一方のメディア障害の際に他方から ファイルをコピーしてリカバリする場合。 2.Cドライブ、Dドライブに分散(複製)して制御ファイルを 配置している場合、一方のメディア障害時に他方から ファイルをコピーしてリカバリする場合。 3.Cドライブ、Dドライブに分散(複製)して(ユーザ)データファイルを 配置している場合、一方のメディア障害時に他方から ファイルをコピーしてリカバリする場合。 (もしくはバックアップからリストアする場合)

  • 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のオンラインバックアップについて

    Oracleのオンラインバックアップに関する質問で、バージョンやプラットフォームには依存しません。 表領域のオンラインバックアップを取得する際、ALTER SYSTEM ARCHIVE LOG CURRENT文で現在のカレントのREDOログをアーカイブしておくこと、と関連会社から言われたのですがALTER SYSTEM SWITCH LOGFILE文で駄目な理由が分かりません。 一般的にはALTER SYSTEM SWITCH LOGFILE文が知られていると思うんですが、、。

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

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

  • oracleのアーカイブの必要性

    現在、oracleでDBを構築しています。 DBサーバーのHDDはハードウェアRAIDを組んでいます。 このような状況でも、oracleのREDOログをアーカイブモードにする必要はあるでしょうか? (私の考えでは、障害が発生してもRAIDを組んでいるのだから、  データは守られると思っているのですが・・・認識を誤ってるかな?)

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

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

  • RMAN(Oracle9i)を使ったDB移行

    Oracle 9iのRMANを使用して、現行のDBサーバから新DBサーバの移行 を考えており、DB移行のテストをしているのですが、上手く行きません。 ※バックアップファイルは、アーカイブモードでオンラインバックアップです。 新サーバーでOracle9iをインストール、RMAN構築、RMANで仮バックアップ、 旧サーバーのRMANのアーカイブ、フルバックアップファイル(ARCH.BUS, FULL.BUS)を 差し替えてリストアしましたが、 RMAN> restore database; で、「ora-196112:データ・ファイル1はmissing or corrupt dataのためリストされませんでした。」とエラーを吐きました。 RMAN> alter database open resetlogs; を入れたところ、 ora-01157、ora-01110を吐き、リストアできませんでした。 そこで、旧DBサーバーのRMANのデータをごっそり新DBサーバーのRMANに置換して、リストアをしようと試みたところ、RMANのスタート時点で、ora-01991というエラーを吐いて、RMAN自体、起動できませんでした。 どなたか、RMANのバックアップを使用して、DB移行を成功した方、ご教授ください。 もしくは、他のDB移行をご存知の方、ご教授ください。 よろしくお願いします。

  • リモートサーバからARCSERVEのbackupの起動法?

    <質問> DBサーバ(ORACLE)のエクスポート及びオンラインバックアップ完了後、バックアップサーバ(ARCSERVE)のBACKUPをキックさせ、エクスポートファイル及びオンラインバックアップファイルのバックアップ方法をご教示ください。 <システム構成> DBサーバ(Universal client agent for win.) Windows 2000 SVR(SP4) ORACLE8i(8.1.7) バックアップサーバ(ARCSERVE 11.5 SP2) Windows 2003 SVR <現状> 1)ARCSERVEのバックアップ対象はORACLEのエクスポートファイル及びRMANによるオンラインバックアップファイルです。 2)ORACLEはアーカイブログモードで運用、RMANを使用してオンラインバックアップを実施しています。 2)DBに更新・削除の処理が頻発するとアーカイブログが大量に発生し、オンラインバックアップで生成されるバックアップファイルは大きく変動し、処理時間が大きく変動します。 3)client agentのバックアップ実行前/実行後の指定では、遅延時間でしか設定出来きず、ARCSERVEでバックアップするサイズが変動する場合対応出来ません。