重装系统后,恢复Oracle的.ORA文件

时间:2022-10-11 20:46:00

前几天,系统莫名奇妙产生很多宏病毒,进而感染整个C盘,不得已,格式化后重装了系统。

重装系统之后,突然想到D盘中的oracle中很多数据没导出来备份,安装文件下有很多有用的.ORA文件,抱着死马当活马医的态度,居然成功了。

1、将原来D盘(D:\oracle\product\10.2.0\oradata\orcl)下的数据文件备份下其他盘,将D盘的oracle目录名改成oracle1。安装数据库,安装在D盘,文件名位oracle。

2、安装完成后,打开控制面板,停止oracle所有的服务。将备份的所有.ORA文件贴到新安装的D:\oracle\product\10.2.0\oradata\orcl中。再重新启动oracle服务和监听。

3、此时,通过Oracle的客户端进去,点击“表空间”栏目时,提醒“ORA-01219:数据库未打开:仅允许在固定表/视图中查询”的警告窗口!

解决办法

登录Oracle SQL*Plus
sys as sysdba
这一段是找出打开数据库的时候报错的地方
SQL> select open_mode from v$database;
OPEN_MODE
----------
MOUNTED
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 4 - see DBWR trace file
ORA-01110: data file 4: '/data/app/oradata/ora237/users01.dbf'
这里就是讲'/data/app/oradata/ora237/users01.dbf'这个文件出问题(也有可能是.ORA文件,做好备份。)
我们要做的就是删掉这个残留文件
进行下一步:
SQL> alter database datafile '/data/app/oradata/ora237/users01.dbf' offline drop;
Database altered.
SQL> alter database open;
Database altered.

alter database open时没报错,再使用Oracle的客户端打开“存储-表空间”,所有后加的.ORA文件对应的表空间都存在,在“安全性-用户”中,对应的用户也都出来了。