• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ORACLE9iのリカバリ方法)

ORACLE9iのリカバリ方法

このQ&Aのポイント
  • 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:ファイルが制御ファイルより新しくなっています。-古い制御ファイルです。

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

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

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

erqew
質問者

お礼

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

関連するQ&A