机器硬盘故障,系统重装,ORACLE数据库也重装;
操作系统是WIN2000SERVER,ORACLE816
重新安装后,路径和故障前相同,ORACLE安装都是默认典型安装,SID都是ORCL;
故障前数据文件目录如下列:
 W:\oracle\oradata 的目录2004-09-24  11:13       <DIR>          .
2004-09-24  11:13       <DIR>          ..
2004-09-24  11:15       <DIR>          ORCL
2004-09-06  16:43           18,751,488 WEB_DATA.DBF
               1 个文件     18,751,488 字节
               3 个目录 19,390,308,352 可用字节W:\oracle\oradata>cd orclW:\oracle\oradata\ORCL>dir
 驱动器 W 中的卷没有标签。
 卷的序列号是 E8DF-6481 W:\oracle\oradata\ORCL 的目录2004-09-24  11:15       <DIR>          .
2004-09-24  11:15       <DIR>          ..
2004-09-24  11:15       <DIR>          archive
2004-09-06  16:43            2,990,080 CONTROL01.CTL
2004-09-06  16:43            2,990,080 CONTROL02.CTL
2004-09-06  16:43           20,979,712 DR01.DBF
2004-09-06  16:43           20,979,712 INDX01.DBF
2004-09-06  16:43           52,436,992 RBS01.DBF
2004-09-06  16:42            1,049,088 REDO01.LOG
2004-09-06  16:42            1,049,088 REDO02.LOG
2004-09-06  16:42            1,049,088 REDO03.LOG
2004-09-06  16:43          287,318,016 SYSTEM01.DBF
2004-09-06  16:43           20,979,712 TEMP01.DBF
2004-09-06  16:43           10,493,952 TOOLS01.DBF
2004-09-06  16:43           20,979,712 USERS01.DBF
              12 个文件    443,295,232 字节
这些文件中坏了个CONTROL03.CTL文件,没有了!
故障前数据库还有个tbs_web表空间,
tablespace tbs_web datafile 'D:\oracle\oradata\web_data.dbf'
数据库没做归档日志,
\oracle\admin\ORCL\pfile\init.ora文件
control_files = ("D:\oracle\oradata\ORCL\control01.ctl", "D:\oracle\oradata\ORCL\control02.ctl", "D:\oracle\oradata\ORCL\control03.ctl")怎么做才能恢复?

解决方案 »

  1.   

    一)1楼说的方法可以,用control01.ctl复出一个control03.ctl就可以了,修改init.ora文件中 控制文件的路径为正确的路径(现在的路径)
    二)startup moun,不要open, 使用 alter database RENAME ... 命令,将所有的数据文件 rename 到新的位置,然后 alter database  open database 打开数据库就可以使用了
      

  2.   

    我直接把原ORACLE数据文件COPY到新装ORACLE目录并覆盖数据文件可以吗?
      

  3.   

    不行呀,因为你的数据文件的绝对路径变了,这些信息是存在控制文件中的,因此你必须在open数据库之前将这些文件的路径改为现在的路径,使用 alter database RENAME ... 命令