1、关闭数据库备份数据文件和控制文件
2、打开数据库,drop tablespace indx including contents; (此时的时间是 2011-12-20:11:20:20)
3、关闭数据库,拷贝所有备份的数据文件过来
4、startup mount
5、recover database until time '2011-12-20:11:20:20'
6、alter database open resetlogs;
此时表空间indx已找到
但是:select * from v$datafile 发现indx所对应的数据文件MISSING000011,原因是此时的控制文件里和SYSTEM表空间里的信息不一致,请问该如何解决这个问题?
-----------------------------------------------------------
在网上查找了相关信息,说是要重建控制文件,我做了如下测试:
在上面第3步中,把备份的控制文件和数据文件一同拷贝过来,加载数据库后,没有需要恢复的数据文件。因为控制文件中的SCN和数据文件中的START_SCN一致。请问这个时候该怎样做?重建控制文件是在哪步发生的,如何重建?
2、打开数据库,drop tablespace indx including contents; (此时的时间是 2011-12-20:11:20:20)
3、关闭数据库,拷贝所有备份的数据文件过来
4、startup mount
5、recover database until time '2011-12-20:11:20:20'
6、alter database open resetlogs;
此时表空间indx已找到
但是:select * from v$datafile 发现indx所对应的数据文件MISSING000011,原因是此时的控制文件里和SYSTEM表空间里的信息不一致,请问该如何解决这个问题?
-----------------------------------------------------------
在网上查找了相关信息,说是要重建控制文件,我做了如下测试:
在上面第3步中,把备份的控制文件和数据文件一同拷贝过来,加载数据库后,没有需要恢复的数据文件。因为控制文件中的SCN和数据文件中的START_SCN一致。请问这个时候该怎样做?重建控制文件是在哪步发生的,如何重建?
2.一般来说 执行恢复 步骤是
startup mount;
restore database;
recover database until time to_date();
alter database open resetlogs;看你现在的错误提示, 应该是没有针对那个文件没有找到,如果你的数据库有打开的话,
select * from dba_datafiles ;
select * from dba_tablespace ;看看你删除的表空间的状态 。 是不是online 或者active的。
如果是recover ,那么需要进行文件恢复。重建控制文件是在 startup nomount;然后再进行控制文件重建。
startup mount
restore database;
recover database untile date ‘’
alter database open resetlogs 应该就可以了。