我正在使用 Oracle 10g XE。我注意到警报日志中的数据文件 1 中出现损坏的块错误。因为我发现 Oracle XE 不支持 Block Media Recovery(需要是企业版)。
所以我做了以下事情:
shutdown immediate;
startup mount;
recover database;
alter database open;
但是损坏的块仍然存在。
我的恢复命令不应该解决这个问题吗?为什么不?
编辑
我在恢复之前已经恢复了,现在它可以工作了。因此,以下步骤有效:
shutdown immediate;
startup mount;
restore database;
recover database;
alter database open;
recover 是否只查找 SCN,如果 SCN 是数据文件的当前 SCN,则什么都不恢复?甚至没有腐败的?
正如我猜测的那样,恢复只是应用存档日志(或联机日志)来赶上当前的 SCN,而不是纠正损坏。
正如您自己发现的那样,
RECOVER
只是应用日志的过程。由于损坏发生在物理层面,您必须从损坏发生前的备份中恢复受影响的数据文件。
RESTORE
重建数据文件的物理属性,因此,任何物理损坏(例如磁盘故障)都将得到修复。