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

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

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

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

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

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

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

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

質問者からのお礼

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

その他の回答 (1)

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

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

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

質問者からのお礼

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

質問者からの補足

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

関連するQ&A

  • 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ドライブに分散(複製)して(ユーザ)データファイルを 配置している場合、一方のメディア障害時に他方から ファイルをコピーしてリカバリする場合。 (もしくはバックアップからリストアする場合)

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

    入社一年目(ようやく丸一年)の新人です。文章に不備があるかもしれませんがご教授ください。 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:ファイルが制御ファイルより新しくなっています。-古い制御ファイルです。 どなたか、解決方法をご存知の方、ご教授ください。

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

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

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

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

  • 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 以上、宜しくお願いします。

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

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

  • Oracle オラクル データベースの移行  移動について

    オラクルがインストールされているPC(A)から 同じDBを別PC(B)へ移す作業を職場で依頼されたのですが、 やり方が分らず困っています。 Oracle: 9i リリース 9.2 OS:XP モード:ノーアーカイブ 概要として、 1.既存DBの停止 2. バックアップ取得(OSアプリ、エクスプローラー等でバックアップ取得を考えてます) (制御ファイルとデータファイル、REDOログ)が対象!? 3.新PC(B)にオラクルインストール 4.新PCのオラクルでリストア作業(この辺が全くわからないです) と考えました。 DBにお詳しい方の意見、 詳しい処理(考え方は、ともかく実操作)を詳しく紹介しているサイトが あれば情報共有させてください。 ※移行先のドライブ構成は移行元と基本同じですが、 出来ればリストア時に検討したいと思っています。 ※既存DBは自由にDB停止して必要なデータ(バックアップ)は取れるので、 3番と4番の詳しいやり方が分かればうれしい。 そもそも考え方自体間違っているのかも・・・そしたらご指摘お願いします。 ※出来ればRMANは使わない方法がベスト

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

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

  • Oracleのオンラインバックアップについて

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