操作系统崩溃,数据库全部文件都在时,数据库恢复方法

在论坛上,有人问:

一个朋友的Oracle数据库所在的 操作系统崩溃,现遗留下数据文件
文件分布结构如下:
d:/oracle/oradata/STAN
CONTROL01.CTL    CONTROL02.CTL   CONTROL03.CTL
INDX11.DBF       INDX12.DBF      INDX13.DBF   INDX14.DBF
REDO01.LOG       REDO02.LOG      REDO03.LOG
TEMP01.DBF       TEMP02.DBF      TOOLS01.DBF
UNDO01.DBF       UNDO02.DBF      USER11.DBF
USER12.DBF       USER15.DBF      USER16.DBF
USER21.DBF

要求我帮着恢复(对方也不知道Oracle原来版本是多少),
1)我先安装9i 的 9.0.1   版本,文件夹同上(d:/oracle/oradata/STAN),
2)停止数据库服务
3)把数据文件copy 到里面,
4)启动数据库,结果出现提示,如下:
ORA-00402:版本9.2.0.0.0的数据?更改无法用于版本9.0.0.0
ORA-00405:兼容?型"LMST"

于是从卸载,重新安装 Oracle9i 到 9.2.0.1
重复如下
1)文件夹同上(d:/oracle/oradata/STAN),
2)停止数据库服务
3)把数据文件copy 到里面,
4)启动数据库.仍然行提示出一堆 ??????????? 问号


大侠们,帮看看,改如何恢复。谢谢
另外,我感觉数据文件不全呢,(好象缺失index01...index10.dbf等)本人第一次接触oracle.

 

具体的恢复操作如下:

第一,新建一个实例 ora92
第二,将原数据库的全部相关的文件复制过来。
第三,用旧数据库的参数启动新的实例
SQL> startup pfile='D:/oracle/ora92/database/INITora92.ORA';
ORACLE 例程已经启动。

Total System Global Area 85006980 bytes
Fixed Size 453252 bytes
Variable Size 58720256 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
ORA-01991: ???????'d:/oracle/ora92/DATABASE/PWDtest.ORA'

提示密码文件出错。重建密码文件(先删除掉原来的文件)
D:/>orapwd file=d:/oracle/ora92/DATABASE/PWDtest.ORA password=SYS entries=10

OPW-00005: 存在相同名称的文件 - 请删除或重命名

D:/>orapwd file=d:/oracle/ora92/DATABASE/PWDtest.ORA password=SYS entries=10

关闭数据库,再用参数重启:
SQL> shutdown immediate
ORA-01109: ??????


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup pfile='D:/oracle/ora92/database/INITora92.ORA';
ORACLE 例程已经启动。

Total System Global Area 85006980 bytes
Fixed Size 453252 bytes
Variable Size 58720256 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。

做完以上的操作以后,如果以后用执行:
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
ORA-00209: ???????????????????????

数据据还是启不来的。

这时,需要用旧的参数文件替换掉新实例的参数文件:
intitest.ora---------->initora92.ora
要放在指定的目录下才可以。

处理完参数文件后,就可以正常使用新实例了。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 85006980 bytes
Fixed Size 453252 bytes
Variable Size 58720256 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。

 

你可能感兴趣的:(操作系统崩溃,数据库全部文件都在时,数据库恢复方法)