备份恢复作业

shell 复制代码
备份恢复作业:
异机恢复recover database报如下错误:
archived log file name=/oradata/arch/1_237_1151011666.dbf thread=1 sequence=237
archived log file name=/oradata/arch/2_256_1151011666.dbf thread=2 sequence=256
unable to find archived log
archived log thread=1 sequence=238
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 11/21/2023 20:38:39
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 238 and starting SCN of 21645880
已确认sequence 238是源库的当前redo。如果想要恢复至当前redo,如何进行下一步?
如果不要源库当前redo里的数据了,如果进行下一步使数据库可用?

根据错误信息,RMAN 无法找到需要恢复的归档日志 "archived log thread=1 sequence=238",因此需要先确认该归档日志位置是否丢失,如果是,则需要使用其他完整的备份文件或者从其他地方获取该归档日志文件。

如果您想要将数据库恢复至当前的 redo,可以尝试先使用"recover database until cancel" 命令,然后手动指定应从哪个媒介恢复。具体步骤如下:

rman 复制代码
运行命令 "recover database until cancel;"

输入 "change archivelog all crosscheck;"

等待 RMAN 执行完 crosscheck,之后输入 "delete expired archivelog all;",删除过期的归档日志文件,确保只剩下需要的备份文件

在恢复过程中,当 RMAN 要求输入日志文件时,请手动指定归档日志的位置和文件名,具体方法是输入命令 "list backup of archivelog all;" 查看备份集,并使用 "catalog" 命令将备份集中的归档日志文件目录列入控制文件中。

如果您不需要恢复源库当前 redo 里的数据,可以尝试跳过该归档日志文件,然后进行恢复数据库的操作。具体步骤如下:

确认源库当前 redo 里的数据可以舍弃,或者已经备份。

运行命令 "recover database skip until sequence 238 thread 1;"

RMAN 将跳过缺失的归档日志文件,并恢复其他可用的备份文件。

执行完 recover 命令后,使用命令 "alter database open resetlogs; " 使数据库可用。

相关推荐
weixin_499771559 分钟前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
weixin_4521595512 分钟前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python
策知道13 分钟前
依托政府工作报告准备省考【经验贴】
大数据·数据库·人工智能·搜索引擎·政务
Z...........21 分钟前
MYSQL进阶查询
数据库·mysql
Tansmjs1 小时前
使用Python自动收发邮件
jvm·数据库·python
m0_561359671 小时前
用Python监控系统日志并发送警报
jvm·数据库·python
Dxy12393102162 小时前
MySQL INSERT ... ON DUPLICATE KEY UPDATE 与非主键唯一字段
数据库·mysql
zhousenshan2 小时前
springboot事务管理几种方式
数据库
布局呆星2 小时前
SQLite数据库的介绍与使用
数据库·python
2401_838472512 小时前
用Python和Twilio构建短信通知系统
jvm·数据库·python