0

最近、私のコンピューターの HD に問題が発生しました。私の oracle 10g xe はこの HD にインストールされ、実行されていました。

しかし、HD が機能しなくなる前に、「oradata\XE」フォルダにある DBF ファイルのコピーを実行しました。これらのファイルは次のとおりです。 CONTROL.DBF 、SYSAUX.DBF、SYSTEM.DBF、TEMP.DBF、UNDOTBS1.DBF、USERS.DBF

これらのファイルからデータを復元できるかどうか疑問に思っています。または、このファイルのデータを Oracle 10g の新規インストールにインポートできる場合。すべてのユーザーとパスワードを持っています。

誰かが私を助けることができますか?

前もって感謝します。よろしくお願いします。

4

1 に答える 1

2

もちろん問題ありません。データベースがオフラインのときにコピーを作成した限り。ファイルを新しいドライブの同じ PATH にコピーします。Oracle は、データファイル (完全修飾) の場所を制御ファイルに記録します。CONTROL.DBF が制御ファイルであると仮定すると、次を含む init.ora を作成することから始めます。

control_files='d:\some\dir\CONTROL.dbf'
dbname='your_db_name'

他のパラメーターが必要な場合は、必要なものを追加してください。

  1. コマンドプロンプトに移動します
  2. ORACLE_HOME がソフトウェアがインストールされているディレクトリを指していることを確認してください
  3. PATH 変数が %ORACLE_HOME%\bin で始まることを確認してください
  4. sqlplus / as sysdba
  5. startup pfile=d:\where\you\put\it\init.ora

そして何が起こるか見てください。ほとんどの場合、REDOLOG ファイルの欠落について不平を言っています。データベースがログについて不平を言うITは、すでにマウントされています。次を使用してログを確認します。

select group#, archived, status from v$log;

各グループの問題のステータスとアーカイブされた列に応じて STATUS = INACTIVE および ARCHIVED = YES の場合

alter database clear logfile group <grp number>;

STATUS = INACTIVE および ARCHIVED = NO STATUS = INACTIVE および ARCHIVED = NO の場合

alter database clear UNARCHIVED logfile group <grp number>;

成功したら、データベースを開きます

alter database open;

ログファイルのクリア中に、欠落しているログファイルが作成されます。

于 2013-09-09T11:06:06.713 に答える