当我尝试进行我们的每月备份验证时它突然抛出错误,它在恢复数据库命令时失败:
ORA-00279: change 26378396150 generated at 05/31/2023 03:52:48 needed for
thread 1
ORA-00289: suggestion : /d03/DEV/data03/archive/1_24306_875277866.dbf
ORA-00280: change 26378396150 for thread 1 is in sequence #24306
ORA-00278: log file '/d03/DEV/data03/archive/1_24305_875277866.dbf' no longer
needed for this recovery
ORA-00308: cannot open archived log
'/d03/DEV/data03/archive/1_24306_875277866.dbf'
ORA-27037: unable to obtain file status
IBM AIX RISC System/6000 Error: 2: No such file or directory
Additional information: 3
这让我感到困惑,因为我试图恢复的 RMAN 备份来自 05/30/2023,但它在 05/31/2023 请求备份的存档日志。
备份每天运行,它是在线完整备份,我什至尝试从 05/31/2023 复制归档日志,但随后它要求从 06/01/2023 进一步归档日志,所以它似乎一直在要求更新和较新的存档日志。有人可以告诉我如何解决这个问题吗?
有关信息,当我看到错误时,我正在使用以下命令:
使用备份控制文件恢复数据库直到取消;
我在提示时选择了 AUTO
编辑 1:
我尝试until time
在备份开始前将命令设置为一小时(备份在 03:00:00 运行):
使用备份控制文件恢复数据库,直到时间“2023-06-05:02:00:00”;
但它输出:
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/d03/DEV/data03/system01.dbf'
我用不同的备份尝试了两次该命令,它在recover database
命令期间导致了同样的错误
正常行为,您没有指定恢复的目标时间,它会不断要求更新的日志,即使它们甚至不存在。
UNTIL
使用而不是使用指定实际目标时间UNTIL CANCEL
。好的,最后我运行了
recover database
命令,until time
直到它输出关于不存在的“未来”归档日志的错误。然后我记下了更改编号(在本例中为26378396150),将其减 1,并将其提供给
recover database
带有until change
.该命令在没有其他警告或错误的情况下成功恢复了数据库。我仍在检查是否有任何数据丢失,但我可以认为我的问题已得到解答。