从先前安装复制的数据库文件挂载数据库

Pra*_*esh 3 oracle oracle-xe

我最近在 Oracle 11g Express 数据库上崩溃了。

我已将.dbf文件从C:\oraclexe\app\oracle\oradata\XE另一个文件夹复制并重新安装了 Oracle 11g Express。

这些文件是:

  1. Control.dbf
  2. sysaux.dbf
  3. system.dbf
  4. TEMP.DBF
  5. UNDOTBS1.DBF
  6. USERS.DBF

我想重新挂载旧的数据库文件,以便我可以恢复数据库。

你能告诉我我该怎么做吗?

Yas*_*irA 5

有关数据库数据文件和联机重做日志文件及其路径的信息存储在控制文件中。控制文件路径信息存储在初始化参数文件(pfile)或服务器参数文件(spfile)中。

因此,如果您移动了数据文件、联机重做日志文件和/或控制文件,则应在安装和打开数据库之前更新相应文件中的路径以反映更改。

首先,在成功启动实例后,使用新信息更改参数文件:

SQL> startup nomount;
SQL> alter system set control_files = '/oracle/data/control.dbf';
Run Code Online (Sandbox Code Playgroud)

然后挂载数据库,以便可以读取和写入控制文件:

SQL> alter database mount;
Run Code Online (Sandbox Code Playgroud)

挂载数据库后,您可以使用RENAME FILE命令将新的 pats 设置为数据文件和在线重做日志文件:

SQL> alter database rename file '/u01/data/sysaux.dbf'
  to '/oracle/data/sysaux.dbf';


SQL> alter database rename file '/u01/data/redo_1a.dbf'
  to '/oracle/data/redo_1a.dbf';
Run Code Online (Sandbox Code Playgroud)

如果你的在线重做被损坏——你没有在列表中指定重做日志文件名——并且数据库没有有序关闭,那么数据文件和控制文件处于不一致状态,打开数据库的唯一方法是从以前的备份中恢复和恢复它。