如何恢复oracle数据备份

时间:2013-09-09 10:12:46

标签: oracle oracle11g oracle10g

最近,我的电脑的HD出现了问题。我的oracle 10g xe已安装并在此HD中运行。

但是在HD停止运行之前,我在“oradata \ XE”文件夹中执行了DBF文件的副本。这些文件是: CONTROL.DBF,SYSAUX.DBF,SYSTEM.DBF,TEMP.DBF,UNDOTBS1.DBF,USERS.DBF

我想知道是否可以从这些文件中恢复数据。或者,如果可以将此文件中的数据导入到Oracle 10g的新安装中。 我有所有用户和密码。

有人可以帮助我吗?

提前谢谢你。 最诚挚的问候。

1 个答案:

答案 0 :(得分: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. 开头
  5. sqlplus / as sysdba
  6. startup pfile = d:\ where \ you \ put \ it \ init.ora
  7. 看看会发生什么。最有可能的是抱怨丢失的redolog文件。 数据库抱怨日志,它已经安装。使用以下方法检查日志:

    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;
    

    在清除日志文件期间,会创建丢失的日志文件。