RMAN-03009、ORA-19566数据文件坏块报错处理方法

在备份数据库的时候,出现RMAN-03009、ORA-19566报错:

RMAN-03009: backup 命令 (c3 通道上, 在 04/29/2023 10:58:11 上) 失败
ORA-19566: 超出损坏块限制 0 (文件 E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMR2.DBF)
继续执行其他作业步骤, 将不重新运行失败的作业
RMAN-03009: backup 命令 (c2 通道上, 在 04/29/2023 10:58:18 上) 失败
ORA-19566: 超出损坏块限制 0 (文件 E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV63.DBF)
继续执行其他作业步骤, 将不重新运行失败的作业
RMAN-03009: backup 命令 (c1 通道上, 在 04/29/2023 11:04:03 上) 失败
ORA-19566: 超出损坏块限制 0 (文件 E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV64.DBF)
继续执行其他作业步骤, 将不重新运行失败的作业

看报错描述是有坏块,而且坏块较多,导致备份失败,检查数据库alert日志:

Fri Apr 28 16:06:43 2023
Corrupt Block Found
         TSN = 6, TSNAME = TSP_JHEMR
         RFN = 10, BLK = 498361, RDBA = 42441401
         OBJN = 76083, OBJD = 79812, OBJECT = PAT_MASTER_INDEX, SUBOBJECT = 
         SEGMENT OWNER = JHEMR, SEGMENT TYPE = Table Segment
Errors in file e:\app\administrator\diag\rdbms\jhemr\jhemr\trace\jhemr_ora_5364.trc  (incident=51031):
ORA-01578: ORACLE 数据块损坏 (文件号 10, 块号 498361)
ORA-01110: 数据文件 10: 'E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV63.DBF'
Incident details in: e:\app\administrator\diag\rdbms\jhemr\jhemr\incident\incdir_51031\jhemr_ora_5364_i51031.trc
Fri Apr 28 16:07:01 2023
Trace dumping is performing id=[cdmp_20230428160701]
Fri Apr 28 16:07:01 2023
Sweep [inc][51031]: completed
Hex dump of (file 10, block 498352) in trace file e:\app\administrator\diag\rdbms\jhemr\jhemr\incident\incdir_51031\jhemr_m000_8072_i51031_a.trc
Corrupt block relative dba: 0x02879ab0 (file 10, block 498352)
Fractured block found during validation
Data in bad block:
 type: 6 format: 2 rdba: 0x02879ab0
 last change scn: 0x0000.9d71bca2 seq: 0x1 flg: 0x06
 spare1: 0x0 spare2: 0x0 spare3: 0x0
 consistency value in tail: 0x00000000
 check value in block header: 0x2919
 computed block checksum: 0xa86b
Reread of blocknum=498352, file=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV63.DBF. found same corrupt data
Reread of blocknum=498352, file=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV63.DBF. found same corrupt data
Reread of blocknum=498352, file=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV63.DBF. found same corrupt data
Reread of blocknum=498352, file=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV63.DBF. found same corrupt data

数据库alert日志中有出现ORA-01578、ORA-01110数据坏块告警。
先通过RMAN VALIDATE校验一下坏块情况:

C:\Users\Administrator>rman target /

恢复管理器: Release 11.2.0.1.0 - Production on 星期六 4月 29 10:24:25 2023

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到目标数据库: JHEMR (DBID=1381176348)

RMAN> validate database;

启动 validate 于 29-4月 -23
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=15 设备类型=DISK
通道 ORA_DISK_1: 正在开始验证数据文件
通道 ORA_DISK_1: 正在指定数据文件进行验证
输入数据文件: 文件号=00008 名称=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMR1.DBF
输入数据文件: 文件号=00009 名称=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMR2.DBF
输入数据文件: 文件号=00005 名称=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV61.DBF
输入数据文件: 文件号=00006 名称=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV62.DBF
输入数据文件: 文件号=00007 名称=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\APJHEMRV64.DBF
输入数据文件: 文件号=00010 名称=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV63.DBF
输入数据文件: 文件号=00011 名称=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV64.DBF
输入数据文件: 文件号=00001 名称=E:\APP\ADMINISTRATOR\ORADATA\JHEMR\SYSTEM01.DBF
输入数据文件: 文件号=00003 名称=E:\APP\ADMINISTRATOR\ORADATA\JHEMR\UNDOTBS01.DBF
输入数据文件: 文件号=00002 名称=E:\APP\ADMINISTRATOR\ORADATA\JHEMR\SYSAUX01.DBF
输入数据文件: 文件号=00012 名称=E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMR65.DBF
输入数据文件: 文件号=00004 名称=E:\APP\ADMINISTRATOR\ORADATA\JHEMR\USERS01.DBF
                                                                                                                                                                 通道 ORA_DISK_1: 验证完成, 用时: 00:12:35
数据文件列表
=================
文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
1    OK     0              28971        663041          2642827419
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHEMR\SYSTEM01.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              617083
  索引      0              13785
  其他      0              3201

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
2    OK     0              34430        377622          2642832275
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHEMR\SYSAUX01.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              97534
  索引      0              57480
  其他      0              188156

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
3    OK     0              3688         598400          2642827456
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHEMR\UNDOTBS01.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              0
  索引      0              0
  其他      0              594712

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
4    OK     0              481          640             942238
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHEMR\USERS01.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              15
  索引      0              2
  其他      0              142

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
5    OK     0              32532        4194176         2642835455
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV61.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              720563
  索引      0              1064182
  其他      0              2376899

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
6    OK     0              41704        4194176         2642834758
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV62.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              720155
  索引      0              1049984
  其他      0              2382333

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
7    FAILED 0              32125        4194176         2642835935
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\APJHEMRV64.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              708816
  索引      0              1035407
  其他      14             2417828

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
8    OK     0              7            4194302         2642838719
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMR1.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              504239
  索引      0              580859
  其他      0              3109197

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
9    FAILED 0              3353         4194302         2642836629
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMR2.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              421677
  索引      0              312738
  其他      1              3456534

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
10   FAILED 0              29169        1615872         2642835408
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV63.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       1              175544
  索引      0              108430
  其他      12             1302729

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
11   FAILED 0              136817       1615872         2642835685
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV64.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              162777
  索引      0              84571
  其他      33             1231707

文件状态 标记为损坏 空块 已检查的块 高 SCN
---- ------ -------------- ------------ --------------- ----------
12   OK     0              129817       131072          2642835621
  文件名: E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMR65.DBF
  块类型 失败的块 已处理的块
  ---------- -------------- ----------------
  数据       0              1104
  索引      0              0
  其他      0              151

验证找到一个或多个损坏的块
有关详细资料, 请参阅跟踪文件 e:\app\administrator\diag\rdbms\jhemr\jhemr\trace\jhemr_ora_6936.trc
通道 ORA_DISK_1: 正在开始验证数据文件
通道 ORA_DISK_1: 正在指定数据文件进行验证
包括要进行验证的当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 验证完成, 用时: 00:00:01
控制文件和 SPFILE 的列表
===============================
文件类型    状态 失败的块 已检查的块
------------ ------ -------------- ---------------
SPFILE       OK     0              2
控制文件 OK     0              892
完成 validate 于 29-4月 -23

RMAN VALIDATE后,错误信息会记录到v d a t a b a s e b l o c k c o r r u p t i o n 视图中,查询 v database_block_corruption视图中,查询v databaseblockcorruption视图中,查询vdatabase_block_corruption视图:

SQL> select file#,block#,corruption_type  from v$database_block_corruption;

     FILE#     BLOCK# CORRUPTIO
---------- ---------- ---------
         7    4109671 ALL ZERO   
         7    4109668 ALL ZERO   
         9     504703 CORRUPT    
        10     498352 FRACTURED   
        11     913502 ALL ZERO    
        11     914363 ALL ZERO    
        11     914358 ALL ZERO    
        11     914356 ALL ZERO    
        11     914353 ALL ZERO    
        11     914350 ALL ZERO    
        11     914219 ALL ZERO    

     FILE#     BLOCK# CORRUPTIO
---------- ---------- ---------
        11     914216 ALL ZERO    
        11     914213 ALL ZERO    
        11     914210 ALL ZERO    
        11     914206 ALL ZERO    

已选择15行。

可看到,数据文件坏块较多,通过dba_extents查看坏块上的对象是什么。

SELECT * FROM dba_extents
WHERE file_id = &AFN
and &BL between block_id AND block_id + blocks - 1;

在这里插入图片描述统计了一下,除了一个是索引,其他都是同一张表,索引好处理,drop掉重建,表中有业务数据,需要另外想办法。参考MOS文档:Extracting Data from a Corrupt Table using DBMS_REPAIR or Event 10231 (文档 ID 33405.1)
在这里插入图片描述先通过设置10231事件后尝试创建表。
在这里插入图片描述

此次处理过程中,表创建成功,比对下跟原表的数据差异。
在这里插入图片描述
比原表少了1473条记录,相对于35W+条记录的表来说,1473算比较可观的数据了,跟业务沟通后,该表是通过另一个库的视图获取数据,业务部门比对下缺失的数据,通过工具重新拉一下数据即可。

表创建成功后,需要马上备份一下数据库,防止有更多的坏块发生,甚至系统表空间坏块发生导致数据库无法启动,但是数据文件有大量的坏块,备份是会有RMAN-03009、ORA-19566报错的。

RMAN-03009: backup 命令 (c3 通道上, 在 04/29/2023 10:58:11 上) 失败
ORA-19566: 超出损坏块限制 0 (文件 E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMR2.DBF)
继续执行其他作业步骤, 将不重新运行失败的作业
RMAN-03009: backup 命令 (c2 通道上, 在 04/29/2023 10:58:18 上) 失败
ORA-19566: 超出损坏块限制 0 (文件 E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV63.DBF)
继续执行其他作业步骤, 将不重新运行失败的作业
RMAN-03009: backup 命令 (c1 通道上, 在 04/29/2023 11:04:03 上) 失败
ORA-19566: 超出损坏块限制 0 (文件 E:\APP\ADMINISTRATOR\ORADATA\JHSEMR\JHEMRV64.DBF)
继续执行其他作业步骤, 将不重新运行失败的作业

此时RMAN备份可通过添加set maxcorrupt for datafile参数解决。

run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
allocate channel c5 type disk;
set maxcorrupt for datafile 7 to 10;
set maxcorrupt for datafile 9 to 10;
set maxcorrupt for datafile 10 to 10;
set maxcorrupt for datafile 11 to 10;
backup as compressed backupset full database filesperset = 5 format "e:\rman\full_%d_%T_%s";
}

备份完成后,此时,数据库中仍然出现坏块报错,处理步骤规划:
1、新表按照坏表的规格创建索引
2、申请业务停机时间,坏表重命名,例如xxx_old
3、新表重命名为正式业务表名
4、业务比对数据
5、drop坏表

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Github创建一个新仓库,关联本地数据并上传文件的图文步骤

工作中,我们经常会使用github来承享别人的代码果实,同时我们也会把自己的成果分享给别人,互相帮助。 今天的这篇图文教程非常重要,目标是使用Github来创建一个远程仓库,并和本地仓库对接,同时要做上传新内容…

区域医疗云his系统源码,具有可扩展、易共享、易协同的优势

云HIS系统采用SaaS软件应用服务模式,提供软件应用服务多租户机制,实现一中心部署多机构使用。相对传统HIS单机构应用模式,它可灵活应对区域医疗、医疗集团、医联体、连锁诊所、单体医院等应用场景,并提升区域内应用的标准化与规范…

python处理图像的各种技术镜像、旋转、遮挡、叠加、条带化

2.6 图像镜面对称 1、将图像水平镜面转换。 2、将图像垂直镜面转换。 import random #导入模块 import numpy as np import matplotlib.pyplot as plt a plt.imread("1.jpg") # 将图像沿着水平方向重复三次。 ba.copy() da.copy() # 将图像水平镜面转换。&…

LeCun、田渊栋参与撰写,70页「自监督学习」大全

来源 | 机器之心 微信号:almosthuman2014 「关于自监督学习,你想知道但又不敢问的一切都在这里了。」图灵奖得主、Meta 人工智能首席科学家 Yann LeCun 刚刚发了这样一则推文。 在推文中,LeCun 介绍了他和 Meta 人工智能研究院研究员、研究经…

javaEE初阶 — 服务器版本的表白墙案例

文章目录 原来版本涉及的问题设计程序1 点击提交2 页面加载 实现后端代码1 新建一个 Maven 项目。2 按照之前第一个 Servlet 程序的步骤来进行设置3 新建一个 MessageServlet 类 实现前端代码1 点击提交的时给服务器发送一个 POST 请求2 在页面加载时发送一个 GET 请求3 将数据…

【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 赛后总结之31页论文及代码

相关信息 (1)建模思路 【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 详细建模过程解析及代码实现 【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 详细建…

2.3 定点乘法运算

学习目标: 如果我要学习定点乘法运算,我会按照以下步骤进行学习: 确定学习目标:明确学习定点乘法运算的目的和重点,以便有针对性地进行学习。 掌握基础知识:首先需要了解定点数和定点乘法的基础知识&…

PySide2 QWebEngine与Web js交互

文章目录 单向交互双向传值案例 单向交互 QWebEngineView加载web页面&#xff0c;web页面中点击按钮&#xff0c;执行js代码&#xff0c;js的返回值传给QWebEnginePage&#xff0c;使用python进行保存结果。 单向&#xff0c;js向python(PySide2)端传输数据。 前端实现 <…

力扣刷题day35|416分割等和子集

416. 分割等和子集 力扣题目链接 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 示例 1&#xff1a; 输入&#xff1a;nums [1,5,11,5] 输出&#xff1a;true 解释&#xff1a;数组可以分割…

智能网联汽车城市化的进程和思考

4月19日&#xff0c;工信部官网显示&#xff0c;支持湖北&#xff08;襄阳&#xff09;、浙江&#xff08;德清&#xff09;、广西&#xff08;柳州&#xff09;创建国家级车联网先导区。至此&#xff0c;车联网国家级先导区正式扩容&#xff0c;由4个增至7个。智能网联作为新生…

网络字节序和主机字节序详解(附代码)

一、网络字节序和主机字节序 网络字节序和主机字节序是计算机网络中常用的两种数据存储格式。 主机字节序&#xff1a; 指的是在计算机内部存储数据时采用的字节排序方式。对于一个长为4个字节的整数&#xff0c;若采用大端字节序&#xff0c;则该整数在内存中的存储顺序是&a…

前端面试题(持续更新中)

【1】null和undefined的区别 同&#xff1a; 1.都是js的基本类型&#xff0c;保存在栈中&#xff0c;表示“无、没有”的意思。 2.if语句中的null和undefined都是false。 var a undefined var b null if (!a) {console.log(undefined is false); } if (!b) {console.log(null…

手动搭建高可用的 kubernetes 集群(v1.16.6)

手动搭建高可用的 kubernetes 集群(v1.16.6) 目录 手动搭建高可用的 kubernetes 集群(v1.16.6) 1、组件版本和配置策略 1.1 主要组件版本1.2 主要配置策略2、初始化系统和全局变量 2.1 集群规划2.2 初始化系统环境 2.2.1 关闭防火墙2.2.2 关闭 swap 分区2.2.3 关闭 SELinux2.2.…

【MySQL自学之路】第5天——对数据表数据的增删改查1

目录 前言 使用的数据库 数据表 ​编辑 表结构 插入数据&#xff08;insert into&#xff09; 插入一条数据 插入多条数据 修改数据&#xff08;update set&#xff09; 修改一条数据的值 ​编辑 修改多条数据的值 删除数据&#xff08;delete from&#xff09;…

【云原生】Epinio--Kubernetes 的应用程序开发引擎

Kubernetes 已成为容器编排的事实标准&#xff0c;改变了我们的开发流程。十年前&#xff0c;我们只需要将代码打包成 war/jar 包&#xff0c;然后启动应用即可。然而&#xff0c;现在面向 Kubernetes 的开发&#xff0c;交付的产物有可能是 Helm Chart、Workload Yaml、Docker…

Postman测试实践笔记

Postman测试实践 文章目录 Postman测试实践一、Postman安装与使用1.1 Postman下载及安装1.1.2 Postman Mac版 1.2 Postman 更新1.2.1 mac 版更新 1.3 Postman 其他问题 二、网络相关知识2.1 接口2.1.1 软件为什么需要接口 2.2 接口测试2.2.1 什么是接口测试&#xff1a;2.2.2 为…

经典回归算法

回归的概念 回归方程&#xff1a; 写成矩阵&#xff1a; 核心问题&#xff0c;构建预测函数z来映射特征矩阵x和标签y的线性关系 预测的目标值&#xff0c;有连续值也有离散值 连续值&#xff0c;就直接预测输出就行离散值&#xff0c;需要在输出端加一个变换函数例如。Si…

C#,生信软件实践(02)——欧洲分子生物学实验室(EMBL格式文件)转为核酸序列或多肽序列(FASTA格式文件)的源代码

>生信老白写的基础代码.fasta MAYBENOANYUSAGE 1 EMBL 1.1 EMBL组织 欧洲分子生物学实验室EMBL&#xff08;European Molecular Biology Laboratory&#xff09;1974年由欧洲14个国家加上亚洲的以色列共同发起建立&#xff0c;现在由欧洲30个成员国政府支持组成&#xf…

Android 项目必备(四十五)-->2023 年如何构建 Android 应用程序

Android 是什么 Android 是一种基于 Linux 内核并由 Google 开发的开源操作系统。它用于各种设备包括智能手机、平板电脑、电视和智能手表。 目前&#xff0c;Android 是世界上移动设备使用最多的操作系统; 根据 statcounter 的一份最近 12 个月的样本报告;Android 的市场份额…

三、SpringMVC

三、SpringMVC 1、SpringMVC简介 1.1、什么是MVC MVC是一种软件架构的思想&#xff0c;将软件按照模型、视图、控制器来划分 M&#xff1a;Model&#xff0c;模型层&#xff0c;指工程中的JavaBean&#xff0c;作用是处理数据 JavaBean分为两类&#xff1a; 一类称为实体…