当前位置: 首页 > news >正文

Oracle-rman restore遭遇RMAN-03002与ORA-19563

文章目录

  • 在原DB上检查是否有重复的文件名:
  • 查看rman恢复的日志
  • 修正重名部分
  • 重新执行rman恢复
  • 结论:

在 RMAN 恢复过程中,遇到RMAN-03002连同ORA-19563:错误。
操作是将 Oracle 10.0.5的数据库备份从 RMAN備份恢复到另一台测试主机的同一个目录。

......
channel ORA_DISK_1: restore complete, elapsed time: 00:26:25
Finished restore at 24-MAR-25

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of switch command at 03/24/2025 22:19:47
ORA-19563:  header validation failed for file

Recovery Manager complete

在MOS 文档 《RMAN Duplicate Fails With RMAN-06136 ORA-19563》(Doc ID 453123.1) 提到可能存在重复的文件名,这一点提供了关键线索。

在原DB上检查是否有重复的文件名:

select substr ( file_name, instr( file_name, '/', -1)) file_name, count(*) from dba_data_files 
group by substr( file_name,instr( file_name, '/', -1))  having count(*) > 1

输出:

FILE_NAME              COUNT(*)
-------------------- ----------
/CES_DATA16.dbf               2

输出结果显示/CES_DATA16.dbf 存在重名

查看rman恢复的日志

......
22> SET NEWNAME FOR DATAFILE '/u2/PCICES/ORADATA/PCICES/CES_DATA15.dbf' TO '/oracle/oradata/CPS_QAS/CES_DATA15.dbf';
23> SET NEWNAME FOR DATAFILE '/u2/PCICES/ORADATA/PCICES/CES_DATA16.dbf' TO '/oracle/oradata/CPS_QAS/CES_DATA16.dbf';
24> SET NEWNAME FOR DATAFILE '/u3/ORADATA/PCICES/CES_DATA16.dbf' TO '/oracle/oradata/CPS_QAS/CES_DATA16.dbf';
25> SET NEWNAME FOR DATAFILE '/u3/ORADATA/PCICES/CES_DATA17.dbf' TO '/oracle/oradata/CPS_QAS/CES_DATA17.dbf';
......

日志中,行23与24确实存在重复的文件名,并且由于restore的目标均位于/oracle/oradata/CPS_QAS目录,导致前者被后者覆盖,进而产生该错误。

修正重名部分

这里分别将名称CES_DATA16.dbf修改为CES_DATA16a.dbf与CES_DATA16b.dbf

......
SET NEWNAME FOR DATAFILE '/u2/PCICES/ORADATA/PCICES/CES_DATA16.dbf' TO '/oracle/oradata/CPS_QAS/CES_DATA16a.dbf';
SET NEWNAME FOR DATAFILE '/u3/ORADATA/PCICES/CES_DATA16b.dbf' TO '/oracle/oradata/CPS_QAS/CES_DATA16.dbf';
......

重新执行rman恢复

rman target /  cmdfile='/home/oracle/restoredb.rman' log='/home/oracle/rman.20250325.log'

结论:

在 RMAN 备份恢复至不同环境 时,应提前检查 是否存在重名数据文件,并确保 SET NEWNAME 映射的目标文件名唯一,以避免覆盖导致的恢复失败。

相关文章:

  • Linux实现生产者消费者模型(基于阻塞队列)
  • VideoGrain:ICLR2025收录,无需训练,实现细粒度多层次视频编辑
  • MySQL 创建数据库
  • ESP32-S3-N16R8的麦金塔小智AI机器人及配套游戏机(教程及相关固件)
  • SpringMVC请求与响应深度解析:从核心原理到高级实践
  • Java并发编程2(锁-Sychronized)
  • Linux: 静态库和动态库
  • 在 Linux(Ubuntu / CentOS 7)上快速搭建我的世界 MineCraft 服务器,并实现远程联机,详细教程
  • 【C语言】深入理解指针(1)
  • Docker应用部署之mysql篇(day5)
  • 用Python掌握算法:初学者指南
  • springboot+mybatisplus
  • MySQL安装与卸载
  • 开源webmail邮箱客户端rainloop的分支版本SnappyMail 设置发件人允许多重身份
  • Linux一步部署主DNS服务器
  • 《DepMamba : Progressive Fusion Mamba for Mutilmodal Depression Detection》论文精读笔记
  • (九)Spring Webflux
  • 深度学习 Note.1
  • 海康HTTP监听报警事件数据
  • 从 MySQL 到时序数据库 TDengine:Zendure 如何实现高效储能数据管理?
  • 特朗普声称中方领导人打了电话,外交部:近期中美元首没有通话
  • 银川市长信箱被指“已读乱回”,官方通报:对相关责任人问责处理
  • 中法共创《海底两万里》,演员保剑锋重回戏剧舞台演船长
  • 阿联酋启动第三届全球航空奖评选,奖金总额达百万美元
  • 神二十发射取得圆满成功
  • 中美正在就关税问题谈判甚至会达成协议?外交部:都是假消息