• ベストアンサー
  • すぐに回答を!

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

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

  • 回答数1
  • 閲覧数1742
  • ありがとう数4

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

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

こんにちわ。 > Windowsの標準機能のバックアップ(バックアップデータには、system stateも > 含んでいます。)からバックアップしておいたデータを復元させました。 このバックアップが、データベースのバックアップとして使用できない方法で 取得された可能性があります。 このバックアップはどのように取得されましたか? データベースのバックアップ方法は、大きく以下の2通りです。 ・DB を停止して全データファイル, 制御ファイル, Redo Log ファイルをバックアップする。 ・アーカイブ運用している前提で、Alter tablespace ~ begin backup を行い  対象表領域をOS コマンドでコピーする。 OS コマンドでのコピーが完了したら、Alter tablespace ~ end backup を行う。 こういった事をせずに、データベース運用中にデータファイル等を単にコピー しただけでは、バックアップとして使用できません。 D ドライブに、全てのデータファイル, 制御ファイル, Redo Log ファイルが格納 されていて、C ドライブ障害時のD ドライブの内容が全てのこっているのであれば、 それらを全て復元してインスタンスを再起動すれば、インスタンス・リカバリが 行われてデータベースがオープンできる可能性があります。

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

質問者からのお礼

ご回答ありがとうございます。 まず、バックアップ取得するときに、DBを停止していなかったのがいけなかったみたいです。 余ったPCに、同じような障害が起こったと仮定して、DBを停止して、Cドライブをフォーマット、CドライブにOSをインストールして、Cドライブのみ復元したところ、上手く行きました。

関連するQ&A

  • 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 リカバリー方法について

    初心者なもので、アドバイスを頂きたく質問させて頂ました。 仮想環境上にテスト環境を構築するため、ORACLEがインストールされているサーバ(サーバーA)のシステム領域(Cドライブ/oracle初期パラメーター含む)のイメージを取得しました。 その後サーバAのデータ領域/Eドライブ(AAA.DBF)をエクスポートし、取得したイメージを仮想環境上に乗せ、サーバーAと同様のドライブパーティションを作成しました。(Eドライブ) そこで質問なんですが、この状態ではインスタンスのマウントまでは上手くいくのですが、データベースをオープンさせる事が出来ません。 本来であればマニュアルを参照し、ある程度勉強した上で質問すべき事だとは百も承知の上ですが、何が必要でどのような作業が必要なのかご教授のほどよろしくお願いします。 【環境】 Windows2000Server SP4 Oracle 9i

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

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

  • Oracle起動時に"ORA-01115"メッセージ・エラー

    Windows NT Server SP6aとOracle8.1.6 Workgroup Serverの組合せで, 昨日まで正常に起動していたのですが, 今日になって,起動時(マウント後オープン時)に下記のメッセージ(Oracle Enterprise Manager)を表示して起動できなくなりました。 マニュアルには,「デバイスのアクセスをリストアしてから。。。」などと処置について記述されていますが,よくわかりません。 どなたか,ご存知でしたら,原因と対策をご教授いただけませんか? --------------------------------------------------------------------- ORA-01115:ファイル2(ブロック番号2757)からの読込みI/Oエラーが発生しました。 ORA-01110:データ・ファイル2:F:\ORACLE\.......\RBS01.DBF ORA-27070:skgfdisp:非同期の読込み/書込みに失敗しました。 OSD-04016:非同期I/O要求待機中にエラーが発生しました。 O/S-Error:(OS 2)指定されたファイルが見つかりません。

  • oracleでいう「SID」名って??

    oracleの初心者です。ぜひ教えて下さい。 1.oracleでいう「SID」名というのは何なのでしょうか? 2.オラクルの初期パラメーターファイル(init[SID名].ora)というのは何なのでしょうか? また、それを知るにはどうしたらいいでしょうか? よろしくお願いします。

  • Oracle9iデータベースのサーバ間移行について

    以前に「Oracle9iデータベースのサーバ間移行について」とのことを質問させていただきましたが、 その続きになるかと思います。 Oracle9i(9.2.0.1.0)のデータベースからコールドバックアップにて取得したファイルを他のサーバへ移動するときに移動元のOSが「Windows2003Server 32bit」、移動先OSが「Windows 2003 Server 64bit」となるのですが、なにか問題があるのでしょうか? マスターの方々、ご教授お願いします。

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

  • Oracle9iデータベースのサーバ間移行について

    現在使用しているサーバが古くなった為、新しいサーバを購入しそちらにデータベースの移行を考えております。 そこで、できるだけシンプルに以前の環境を変えずにサーバ間の移行を行いたいのですが、どのような方法がいいでしょうか? 最初は、エクスポートインポートで行おうとしたのですが、データのみ移動だとチューニングを行った内容まで移行できなそうなので、データと現在の設定まで移行できる方法を探しております。 コールドバックアップというのがあるようなのですが、当方初心者のためいまいちわかりませんでした。 現環境と新環境ともにOS、Oracleのバージョンは同じです。 オラクルスペシャリストの方々ご教授お願いします。 環境 OS:Windows2003Server Oracle:9i (9.2.0.1.0)

  • 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関連サービスと各インスタンスを起動し、動作を確認する どなたか、回答宜しくお願い致します。

  • oracle10g(オラクル)でインポートしたdmpデータの場所

    社内のあるdmpデータをオラクル10gにインポートするようにと指示があり、ネット検索で得た情報を元にコマンドからdmpデータを何とかインポートできましたが、オラクル上でそのデータを確認する方法がわかりません。 ●Oracle10gは3日前に下記サイトの「第1章 データベース構築の基礎編 」を参考にしてインストールしたものです。 http://otn.oracle.co.jp/easy/oracle10gr2/Windows.html ●今回インストールした際のユーザーは「sysman」です。 初歩的な質問で申し訳ございませんがどなたかどうぞ回答をお願いしますm(__)m。 因みに社内にOracle10gのマニュアル本はありません。