个人重新安装系统,数据文件保留,在重新安装oracle 后,需要根据现有文件恢复现有数据库.
假设我的数据库数据文件在D:\oracle\product\10.2.0\oradata\orcl\目录下面
安装完成数据库后,使用 sys/ as sysdba 登陆停止数据库 shutdown immediate ,停止数据库后,将原备份oradata \orcl\下面所有文件复制到现有文件夹下面. startup nomount;alter database mount; alter database open; 也可以直接startup 装载数据库;
--开始我使用如下操作,使数据库离线
alter database datafile 'D:\oracle\product\10.2.0\oradata\orcl\datafile.bdf' offline drop ;
这样以后可以使用原来的用户名和密码登陆,但是不能做create table insert 等操作;
因为数据库是在重新安装系统之前的最后的备份文件,所以进行以下查询
select v1.group#,member,sequence#,first_change#
from v$log v1,v$logfile v2
where v1.group# = v2.group#;
GROUP# MEMBER SEQUENCE# FIRST_CHANGE#
---------- -------------------------------------------------------------------------------- ---------- -------------
3 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG 22 1093465
2 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG 21 1070734
1 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG 23 1120165
得到first_change#
select file#,change# from v$recover_file;
得到 change#
如果 change# 大于最小的first_change#则数据文件可以被恢复。
如果 change# 小于最小的first_change#则数据文件不可恢复。 恢复最近一次的全备份或采用方案一.
恢复
recover datafile 'D:\oracle\product\10.2.0\oradata\orcl\datafile.bdf' ;
alter tablespace datafile online;
然后使用原来用户登陆就可以了.