Oracle-Rman duplicate文件坏块问题处理ORA-19849 19612

news2025/7/16 1:06:02

前言:

最近,在使用rman duplicate进行备库环境搭建时,遇到了ORA-19849 19612坏块报错,最终分析是发现由于网络的配置导致。

问题:

在 ORACLE 12.2.0.1.180417 通过RMAN duplicate进行备库初始化,在复制文件的过程中,数据文件恢复失败,出现块迷失或者坏块错误

RMAN-03002: failure of Duplicate Db command at 11/18/2022 15:45:06
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 8 could not be verified
ORA-19849: error while reading backup piece from service yjzxpr
ORA-19612: datafile 8 not restored due to missing or corrupt data

问题原因:

网卡开启了TCP OFFLOAD(TCP网络卸载)功能,导致在网络传输过程中出现损坏

问题解决:

  • 使用备份压缩方式进行rman duplicate

  • 禁用网卡的tcp offload功能

问题分析:

出现这个报错,我们首先怀疑是源库的数据文件出现了问题,所以检查了数据文件的状态,但源库的数据文件全都是online

SQL> select status,count(*)
  2  from v$datafile_header
  3  group by status;
​
STATUS                  COUNT(*)
--------------------- ----------
ONLINE                       129

接着,我们对源库的数据文件进行坏块检测,并没有发现到坏块

rman target /
run {
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
allocate channel d4 type disk;
backup validate check logical database;
release  channel d1;
release  channel d2;
release  channel d3;
release  channel d4;
}
---没有检测到坏块
SQL> select * from V$DATABASE_BLOCK_CORRUPTION ;
​
no rows selected
​
SQL>

到这里,我们可以初步排除是源库数据文件问题所导致的

接下来,我们使用debug模式,分析是否有更多详细的报错信息

rman target 'sys/""'@sourceo  auxiliary 'sys/""'@target debug trace=rmanDebug.trc

从debug的日志里面,我们发现坏块是从读取通过网络传输的备份片里面产生的,怀疑很有可能是网络层面问题导致

Corrupt block 747838 found during reading backup piece, file=network, corr_type=3
Continuing reading piece network, no other copies available.

同时,从Oracle mos官方上也发现产生相关问题的可能解决方法

案例一:RMAN Active Duplicate Fails with ORA-19837 ORA-19849 ORA-19850 (Doc ID 2451611.1)

根据文档的描述,如果目标数据库RMAN配置了加密,可能导致该问题的发生,解决的方法是关闭加密配置,但我们的数据库的加密已经关闭,不匹配该问题场景

案例二:ORA-19612 Error Trying To Duplicate Database With Rman (Doc ID 1361914.1)

根据文档的描述,可能由于网络设置,外部超时和防火墙设置,如"SQLNet修复"和"SQLNet深度数据包检查"导致,解决方法是手工检验,修复问题备份片,再重新尝试传输到目标端,该文档提供的信息有限,并且当前环境网络只通过交换机,并没有经过防火墙

案例三:ORA-19660 ORA-19661 DURING BACKUP VALIDATION (NFS) (Doc ID 1921662.1)

根据文档的描述,在通过NFS进行备份片存储时,可能导致备份片出现坏块的情况,由于网卡配置了TCP OFFLOAD功能

注:TCP OFFLOAD是指将本该在操作系统进行的一些大数据包处理(如TCP分段、IP分片、重组、checksum、TCP协议处理等)放到网卡硬件中去做, 降低系统 CPU 消耗的同时,提高处理的性能

该文档可以借鉴的类似地方是通过网络进行备份片传输的过程中,出现了备份片坏块,与之前我们通过debug分析读取通过网络传输的备份片出现坏块比较相似,并且提供了相对具体的网络配置可能问题

接下来我们检查服务器的网卡是否配置了TCP OFFLOAD功能,发现了服务器的网卡的确开启了tcp offload功能

ethtool -k em4 | grep offload
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on [fixed]
tx-vlan-offload: on [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]

确认了可能是网络设置TCP OFFLOAD导致的问题之后,我们尝试通过文档提供方法进行修复,文档共提供了两个方法

  • 使用压缩备份片的方式进行

  • 网卡关闭TCP OFFLOAD功能

最后我们选择采用压缩备份片的方式进行rman duplicate,主要是根据以下考虑,由于关闭TCP OFFLOAD功能涉及网络基础架构,关闭该功能并没有进行充分的测试验证,可能带来潜在的网络性能影响,而使用压缩备份片的方式进行rman duplicate,只是从命令操作方式上进行调整,影响可控

随后,我们使用了压缩方式USING COMPRESSED BACKUPSET的duplicate,这一次,报错没有再次发生,RMAN-19849 19612问题得到解决

duplicate target database for standby from active database nofilenamecheck USING COMPRESSED BACKUPSET;

总结:

这个问题的分析解决过程还是比较诡异、曲折的,因为同环境上有4套数据库,使用相同的dupliate方式部署了2套是没有问题的,在部署第三套时才发生坏块问题,由于第三套的数据量较大达到TB级别,所以才触发了网络层面的问题,好在最后找到规避的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/28899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FTP服务器移植到Linux开发板

FTP服务器移植到Linux开发板 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录FTP服务器移植到Linux开发板前言一、vsftpd源码下载二、vsftpd移植及配置1.vsftpd移植2.vsftpd配置2.1 配置vsftpd.conf2.2 添加新用户2…

LVS+Keepalived群集

目录 一.keeepalived工具介绍 1.1 专为LVS和HA设计的一款健康检查工具 1.2 Keepalived实现原理剖析 1.3 VRRP工作过程 1.4 Keepalived,VRRP及其工作原理 1.5 Keepalived体系主要模块及其作用 二、LVSKeepalived 高可用群集的搭建步骤 1、配置负载调度器&…

项目管理(PMO的作用)

项目管理办公室 (PMO) 是对与项目相关的治理过程进行标准化,并促进资源、方法论、工具和技 术共享的一个组织结构。PMO 的职责范围可大可小,从提供项目管理支持服务,到直接管理一个 或多个项目。 PMO的三种类型: PMO的作用&#…

ppt背景图片怎么设置?6步教你快速搞定!

在制作 ppt的过程中,需要将一些内容进行设置,来保证整体美观,也就是将背景图片设置好。背景图片设置的好,可以很好地体现页面上的内容,提高页面上的内容展示效果。所以大家在制作 ppt时,需要将一些背景图片…

进程和线程详解

目录 前言: 操作系统定位 并发 并行 并发 进程 描述 PCB 管理 内存管理 进程间通信 线程 小结: 前言: 当一个程序运行起来时,操作系统要为之分配一些资源,这样的运行起来的程序称之为一个进程。为了有效解…

huffman编译码

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 利用哈夫曼编码进行信息通信可以较大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码;在接收端将传来的数据进行译码(复原)。对…

Python期末复习题:文件

Python期末复习题:文件 文章目录Python期末复习题:文件一、二手房数据统计二、学生成绩统计一、二手房数据统计 附件文件house.csv 中存储一些二手房数据,中文编码为GBK,对文件中的数据进行统计分析。 文件中数据格式如下所示&…

理解Attention机制的query key value

背景 在Attention机制引入前,自然语言处理里的深度学习模型有以下缺点: 长序列的推理存在信息损失/梯度消失:输入序列越长,模型越难保存初始输入信息。运算量大并且不能并行:RNN的每一步推理都是基于上一个步的结果。…

Python小游戏自己动手编写,你能写出几个(分享版)

今天分享一个有趣的Python游戏库freegames,它里面包含经典小游戏,像贪吃蛇、吃豆人、等等。可以通过1行代码重温这些童年小游戏,后面还会分享源码,可以自己学习游戏编写,相信你会超有成就感! Paint 涂鸦 在…

Springboot Websocket一般封装方法

此方法不是唯一&#xff0c;只是自己对于Springboot中关于Websocket处理思路比较清晰的一种&#xff0c;在此记录下来。总共不过就四个文件而已。 一、创建Springboot项目&#xff0c;添加不可或缺的pom <dependency><groupId>org.springframework.boot</grou…

内存模块 --- 基础扫盲

SDRAM synchronous dynamic random-access memory 同步动态随机存储器 同步&#xff1a;需要同步时钟支持工作&#xff0c;内部命令的发送与数据的传输都是以这个时钟为基准 动态&#xff1a;内部的存储阵列需要不断地刷新来保证数据不丢失 随机&#xff1a;可以自由地在指定地…

MyBatis进阶版

本文有点难 目录 1.一些区分 1.1参数占位符#{}和${} 1.1.1SQL注入 1.1.2like查询 1.2resultType和resultMap 2.映射查询 2.1一对一表映射 2.2一对多表映射 3.动态SQL 3.1标签 3.2标签 3.3标签 3.4标签 3.5标签 1.一些区分 1.1参数占位符#{}和${} ①什么是#{}&a…

【CSS】表布局,浮动布局

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录表布局表层表标题(caption)border-collapse边框隐藏表大小table-layout(表宽度)vertical-align例…

你安全吗?丨虎云系统“后门”

作者&#xff1a;黑蛋 在电视剧《你安全吗&#xff1f;》中&#xff0c;马平川这个人物已经慢慢浮出水面&#xff0c;算是此部电视剧幕后的最大反派&#xff0c;他明面上是虎迫集团的技术总监&#xff0c;是虎云系统的负责人&#xff0c;开发者。背后却在泰曼达有着诈骗基地&a…

2022年11月21日13:32:00——T5——JS对象与Date日期函数

1、JavaScrip对象的使用&#xff1a; /** * 1、对象的声明赋值使用的是{}花括号&#xff0c;大括号 * 2、对象中的值以key:value的格式进行赋值&#xff0c;多个值中间使用【,】区分 * 3、获取对象中的值的方法需要通过[]并给与key名的方式获取&…

电脑怎么设置开机密码?简单几步给你的电脑“上锁”

在我们日常生活中&#xff0c;最常见的就是开机密码了&#xff0c;而电脑作为我们使用频率最高也是最复杂的设备&#xff0c;其安全性也是非常重要的&#xff0c;那么电脑怎么设置开机密码&#xff1f;那么今天我们就来说一说开机密码的设置方法&#xff01;为了更安全&#xf…

Essay写作字数怎么正确进行删减?

对于留学生来说&#xff0c;Essay写作伴随着整个留学生活。正因为留学生大量的Essay作业&#xff0c;不少留学生为了规定的Essay字数而发愁&#xff0c;毕竟既不能写得太少&#xff0c;又不能写得太多&#xff0c;所以很纠结。那么如何根据老师规定的字数进行删减呢&#xff1f…

Talk | 微软亚洲研究院宋恺涛南大余博涛:面向文本/音乐序列任务的Transformer注意力机制设计

本期为TechBeat人工智能社区第456期线上Talk&#xff01; 北京时间11月22日(周二)20:00&#xff0c;微软亚洲研究院研究员——宋恺涛与南京大学硕士研究生——余博涛的Talk将准时在TechBeat人工智能社区开播&#xff01; 他们与大家分享的主题是: “面向文本/音乐序列任务的Tra…

String类_Java(一)

作者&#xff1a;爱塔居的博客_CSDN博客-JavaSE领域博主 专栏&#xff1a;JavaSE &#x1f33c;作者简介&#xff1a;大三学生&#xff0c;希望跟大家一起进步&#xff01; 文章目录 目录 文章目录 前言 一、构造字符串 二、Sring对象的比较 2.1 比较是否引用同一对象 2.2 比较…

跨平台编译工具--CMake上手教程

文章目录一、引入二、基本关键字1.PROJECT2.SET3.MESSAGE4.ADD_EXECUTABLE5.ADD_SUBDIRECTORY(1)使用(2)CMakeLists执行顺序(3)输出文件的位置6.INSTALL(1)安装文件(2)安装非目标文件可执行文件(3)安装目录(4)安装指令7.ADD_LIBRARY8.SET_TARGET_PROPERTIES三、语法的基本规则四…