我的数据库处于挂载状态,我们执行了数据库备份。
backup database format '/backup/db_full%U.bkp';
所以,当恢复它时,我不能简单地使用:
Restore database;
alter database open;
表明
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '+DATA/orcl/datafile/system.257.1161421855'
为什么我还需要恢复数据库?我知道当数据库打开并且我们执行一些备份时,我们必须恢复,因为备份不一致,但在这种情况下,执行备份时数据库处于挂载状态。我不想恢复,因为我不想在备份后应用所有更改。
编辑: 我在 Oracle 19c 文档中发现备份选项“一致”。
backup consistent database format '/backup/db_full%U.bkp';
但仍然重新查询恢复(并且备份是在挂载状态下执行的)。
如何恢复使用 Rman 获取的数据库冷备份(文档 ID 1391384.1)
步骤总结:
如果您不从通过脱机备份获取的备份恢复(步骤 2)控制文件并使用当前/最新的控制文件,则会出现错误。
或者,您可以手动重新创建控制文件(使用
CREATE CONTROLFILE
语句),之后alter database open resetlogs;
也可以工作,无需恢复。