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

Oracle备份失败处理,看这一篇就够了!

作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验,
Oracle、PostgreSQL ACE
CSDN博客专家及B站知名UP主,全网粉丝10万+
擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复,
安装迁移,性能优化、故障应急处理

文章目录

  • 前言
    • 1.RMAN配置错误
      • 1.1 故障现象
      • 1.2 故障排查
      • 1.3 故障处理
    • 2.物理删除归档
      • 2.1 故障现象
      • 2.2 故障处理
      • 2.3 故障分析
    • 3.Oracle坏快
      • 3.1 故障现象
      • 3.2 故障分析
      • 3.3 故障处理
    • 4.数据库结构错误
      • 4.1 故障现象
      • 4.2 故障分析
      • 4.3 故障处理
    • 5.总结

前言

因为最近故障频发,这里带大家盘点生产运维中Oracle备份失败的一些原因

1.RMAN配置错误

1.1 故障现象

客户反馈备份失败,因为使用第三方的备份软件,从备份的报错信息来看,报ORA-00234: error in identifying or opening snapshot or copy control file

1.2 故障排查

首先排查是否是由于带库引起备份问题,
尝试直接在磁盘上备份,执行如下命令
run {
allocate channel c1 type disk;
backup current controlfile format '/tmp/db_ctl_%d_%T_%s_%p.bak'; 
release channel c1;
}

执行后发现报同样报错,该报错指向控制文件快照文件
查询 RMAN 相关文件快照路径
查看发现控制文件快照路径为ASM 磁盘组,
未写文件名,怀疑是未写文件名引起

1.3 故障处理

修改控制文件快照路径
RMAN> CONFIGURE SNAPSHOT
CONTROLFILE NAME TO ‘+oradata/snapcf_orcl.f’;
调整后发现备份恢复正常

注意:
1.控制文件的快照文件必须能够被所有节点的数据实例访问到,
并且必须放在共享的位置。否则,使用RMAN进行备份控制文件的时候会报错
2.建议对参数调整后,建议经各方面测试验证无误后再修改

2.物理删除归档

2.1 故障现象

根据客户反馈,因为岁修产生了大量的归档,手动物理删除归档后,备份就失败,
报错如下:ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory

2.2 故障处理

进行归档日志的校验;
RMAN>crosscheck archivelog all;
删除失效的归档日志;
RMAN>delete expired archivelog all;

2.3 故障分析

数据库的archivelog文件被手工删除,但是控制文件仍然记录了归档日志的备份信息,rman做归档备份时还是要备份被无意删除的文件,但文件已经被物理删除,磁盘上找不到就会报错,通过rman crosscheck archivelog all也可以看到文件已经失效,所以备份之前先将归档文件从控制文件中删除,然后备份就会成功;

–正确删除归档的命令应该是
1.删除指定日期前日志
delete archivelog all completed before ‘SYSDATE - 3’;
2.删除log sequence为36及36之前的所有归档日志
delete archivelog until sequence 36;
3.删除所有归档
delete noprompt archivelog all;

3.Oracle坏快

3.1 故障现象

使用的是第三方的备份软件,近期备份一直失败,造成归档无法删除,归档磁盘空间岌岌可危,从备份软件的日志来看,抛出了如下的报错
ORA-19566: exceeded limit of 0 corrupt blocks for file
+INDEX/ods_hist_idx_tbs_07.dbf

3.2 故障分析

ORA-19566报错来看,基本定位为坏快造成的,
确认当前使用的数据库为Oracle 11.2.0.4.0 RAC,
通过以下查询确认坏快信息--1、查询oracle坏快
select * from v$database_block_corruption;--2.分析Oracle坏块对应的对象内容
SELECT e.owner, e.segment_type, e.segment_name, e.partition_name, c.file#, greatest(e.block_id, c.block#) corr_start_block#, least(e.block_id+e.blocks-1, c.block#+c.blocks-1) corr_end_block#, least(e.block_id+e.blocks-1, c.block#+c.blocks-1)- greatest(e.block_id, c.block#) + 1 blocks_corrupted, null descriptionFROM dba_extents e, v$database_block_corruption cWHERE e.file_id = c.file#AND e.block_id <= c.block# + c.blocks - 1AND e.block_id + e.blocks - 1 >= c.block#UNIONSELECT s.owner, s.segment_type, s.segment_name, s.partition_name, c.file#, header_block corr_start_block#, header_block corr_end_block#, 1 blocks_corrupted, 'Segment Header' descriptionFROM dba_segments s, v$database_block_corruption cWHERE s.header_file = c.file#AND s.header_block between c.block# and c.block# + c.blocks - 1UNIONSELECT null owner, null segment_type, null segment_name, null partition_name, c.file#, greatest(f.block_id, c.block#) corr_start_block#, least(f.block_id+f.blocks-1, c.block#+c.blocks-1) corr_end_block#, least(f.block_id+f.blocks-1, c.block#+c.blocks-1)- greatest(f.block_id, c.block#) + 1 blocks_corrupted, 'Free Block' descriptionFROM dba_free_space f, v$database_block_corruption cWHERE f.file_id = c.file#AND f.block_id <= c.block# + c.blocks - 1AND f.block_id + f.blocks - 1 >= c.block#order by file#, corr_start_block#;

3.3 故障处理

Oracle建议的一些最佳实践经验如下:
1.完整记录原始的坏块出错信息,以及遇到坏块的应用模块信息。
2.将首次遇到坏块的几小时至当前时间的log信息抽取出来,
单独保存为一个文件进行重点分析。
3.将log文件中涉及的trace 文件进行保存。
4.了解硬件和操作系统级是否存在报错信息。
5.查询硬件和存储是否采用异步I/O(ASYNC I/O),
磁盘快速写(Fast Write Disk)等技术。
6.查询当前Oracle备份信息,备份时间、备份类型、备份地点等。
7.查询数据库是否是归档或非归档模式。

坏块分类分为2种
物理坏块:也可以称为介质坏块,指的是块格式本身是坏的,块内的数据没有任何意义。
逻辑坏块:指的是块内的数据在逻辑是存在问题。比如说索引块的索引值没有按从小到大排列。
物理坏块一般是由于内存问题、OS问题、IO子系统问题和硬件引起,
逻辑坏块一般是是由于Oracle Bug等原因引起

4.数据库结构错误

4.1 故障现象

客户反馈备份一直失败,因为用的磁带库备份,
所以从alert日志中看到有如下报错
ERROR at line 1:
ORA-01157: cannot identify/lock data file 34 - see DBWR trace file
ORA-01110: data file 34: ‘/u01/app/oracle/product/19.0.0/dbhome_1/dbs/ptho_ts.dbf’

4.2 故障分析

select file_id,tablespace_name,file_name,status from dba_data_files;
通过查询发现,新建的一个表空间建到了本地磁盘,
导致节点2无法发问,备份校验不通过导致备份失败

4.3 故障处理

offline数据文件的方法
sql>alter database datafile 34 offline;
rman> backup as copy datafile 34 format ‘+data’;
rman> switch datafile 34 to copy;
sql>recover datafile 34;
sql>alter database datafile 34 online;

5.总结

数据库可能面临硬件故障、人为错误、恶意攻击、自然灾害等多种潜在风险。如果没有恰当的备份策略,这些事件可能导致数据丢失,从而对业务造成严重影响。所以一定要确保备份的成功,备份恢复演练也必不可少。

相关文章:

Oracle备份失败处理,看这一篇就够了!

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…...

后端中缓存的作用以及基于Spring框架演示实现缓存

缓存的作用及演示 现在我们使用的程序都是通过去数据库里拿数据然后展示的 长期对数据库进行数据访问 这样数据库的压力会越来越大 数据库扛不住了 创建了一个新的区域 程序访问去缓存 缓存区数据库 缓存里放数据 有效降低数据访问的压力 我们首先进行一个演示 为了演示…...

Python:基础爬虫

Python爬虫学习&#xff08;网络爬虫&#xff08;又称为网页蜘蛛&#xff0c;网络机器人&#xff0c;在FOAF社区中间&#xff0c;更经常的称为网页追逐者&#xff09;&#xff0c;是一种按照一定的规则&#xff0c;自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字…...

机器人运动学笔记

一、建模 参考资料&#xff1a;https://zhuanlan.zhihu.com/p/137960186 1、三维模型和连杆、关节定义 2、设置z轴 SDH和MDH会不一样&#xff0c;主要的区别在于SDH中坐标系在连杆末端&#xff0c;MDH中坐标系在连杆首端。虽然这里只是给出z轴&#xff0c;但是由于后面原点位…...

webshell三巨头 综合分析(蚁剑,冰蝎,哥斯拉)

考点: 蚁剑,冰蝎,哥斯拉流量解密 存在3个shell 过滤器 http.request.full_uri contains "shell1.php" or http.response_for.uri contains "shell1.php" POST请求存在明文传输 ant 一般蚁剑执行命令 用垃圾字符在最开头填充 去掉垃圾字符直到可以正常bas…...

stm32MP135裸机编程:启动流程分析

0 参考资料 轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序.pdf STM32MP135AD数据手册.pdf1 stm32MP135裸机启动流程分析 1.1 启动方式 stm32MP135支持8种启动方式&#xff1a; 注&#xff1a; UART和USB启动并不是指通过UART/USB加载程序&#xff0c;而是通过UA…...

在Pycharm使用Github Copilot

文章目录 1.GitHub Copilot 是什么2.注册GitHub Copilot3.官方使用文档4.安装 GitHub Copilot插件5.在Pycharm中使用6.相关功能键7.启用或禁用 GitHub Copilot 1.GitHub Copilot 是什么 GitHub Copilot 是一款 AI 编码助手&#xff0c;可帮助你更快、更省力地编写代码&#xff…...

Docker镜像构建:Ubuntu18.04+python3.10

1、编写 Dockerfile # 使用Ubuntu 18.04作为基础镜像 FROM ubuntu:18.04RUN apt-get update && apt-get install -y \build-essential \curl \zlib1g-dev \libssl-dev \&& rm -rf /var/lib/apt/lists/*ENV PYTHON_VERSION3.10.8RUN curl -O https://www.pytho…...

如何进行LLM大模型推理优化

解密LLM大模型推理优化本质 一、LLM推理的本质以及考量点 LLM推理聚焦Transformer架构的Decoder以生成文本。过程分两步&#xff1a;首先&#xff0c;模型初始化并加载输入文本&#xff1b;接着&#xff0c;进入解码阶段&#xff0c;模型自回归地生成文本&#xff0c;直至满足…...

QLoRA:高效的LLMs微调方法,48G内存可调65B 模型

文章&#xff1a;https://arxiv.org/pdf/2305.14314.pdf 代码&#xff1a;https://github.com/artidoro/qlora概括 QLORA是一种有效的微调方法&#xff0c;它减少了内存使用&#xff0c;足以在单个48GB GPU上微调65B参数模型&#xff0c;同时保留完整的16位微调任务性能。QLOR…...

力扣48. 旋转图像

给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在原地旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出…...

【踩坑日记】I.MX6ULL裸机启动时由于编译的程序链接地址不对造成的程序没正确运行

1 现象 程序完全正确&#xff0c;但是由于程序链接的位置不对&#xff0c;导致程序没有正常运行。 2 寻找原因 对生成的bin文件进行反汇编&#xff1a; arm-linux-gnueabihf-objdump -D -m arm ledc.elf > ledc.dis查看生成的反汇编文件 发现在在链接的开始地址处&…...

【计算机网络仿真实验-实验2.6】带交换机的RIP路由协议

实验2.6 带交换机的rip路由协议 1. 实验拓扑图 2. 实验前查看是否能ping通 不能 3. 三层交换机配置 switch# configure terminal switch(config)# hostname s5750 !将交换机更名为S5750 S5750# configure terminal S5750(config)#vlan 10 S5750(config-vlan)#exit S57…...

Apache网页优化

一、网页压缩与缓存 注意文章中的http为源代码包安装&#xff0c;配置时指定了mod_deflate、mod_expires、mod_rewrite模块。所有的模块是否生效可以通过在浏览器中找到"开发工具"中的网络选项卡中的信息进行验证&#xff0c;里面有请求报文和响应报文的部分信息。 通…...

OpenCV形态学

什么事形态学处理 基于图像形态进行处理的一些基本方法&#xff1b; 这些处理方法基本是对二进制图像进行处理&#xff1b; 卷积核决定着图像出来后的效果。 一 图像二值化 什么是二值化 将图像的每个像素变成两种值&#xff0c;如0,255. 全局二值化。 局部二值化。 thres…...

首途第三十三套清新简约卡片风格蓝紫渐变色短视频模板 | 苹果CMSV10主题

下载地址&#xff1a;首途第三十三套清新简约卡片风格蓝紫渐变色短视频模板 | 苹果CMSV10主题 首途第三十三套清新简约卡片风格蓝紫渐变色短视频模板 | 苹果CMSV10主题 我们的简约风格&#xff0c;以纯洁的白色和深邃的紫色为主色调&#xff0c;为您提供了一种清新、时尚的浏览…...

永磁同步直线电机(PMLSM)控制与仿真2-永磁同步直线电机数学模型搭建

文章目录 1、公式总结2、电压方程模型3、运动方程4、推力方程5、转化关系 写在前面&#xff1a;原本为一篇文章写完了永磁同步直线电机数学模型介绍&#xff0c;永磁同步直线电机数学模型搭建&#xff0c;以及永磁同步直线电机三环参数整定及三环仿真模型搭建&#xff0c;但因为…...

MPLS VPN一

R1为客户&#xff0c;现在进行一些基本配置&#xff0c;来确保可以通路由 先启动OSPF跑通 在R3上 等一会 现在启动MPLS 对R3 对R4 然后在R2上 再把接口划到空间里面 原来的IP在公网里面&#xff0c;被清除了 然后再配置接口 查看 对R1&#xff08;相当于客户&#xff09; …...

39python数据分析numpy基础之h5py读写数组数据到h5文件

1 python数据分析numpy基础之h5py读写数组数据到h5文件 HDF5(分层数据格式文件)是Hierarchical Data Format Version 5的缩写&#xff0c;是一种用于存储和管理大数据的文件格式。经历了20多年的发展&#xff0c;HDF格式的最新版本是HDF5&#xff0c;它包含了数据模型&#xf…...

2024全新仿麻豆视频苹果cms源码v10影视模板

下载地址&#xff1a;2024全新仿麻豆视频苹果cms源码v10影视模板 高端大气的设计&#xff0c;适合做电影、连续剧、综艺、动漫、微电影、纪录片、海外剧等视频网站...

ElasticSearch查询集群及设置

Elasticsearch查询集群API示例 查看集群状态及监控 参考资料 https://www.elastic.co/guide/en/elasticsearch/reference/6.6/cluster-health.html https://www.elastic.co/guide/en/elasticsearch/reference/6.6/cluster-nodes-stats.html 查看集群状态 健康状态 curl -XGE…...

Qwen3.5-4B-Claude-Opus应用场景:技术博客选题生成、文章大纲结构化输出

Qwen3.5-4B-Claude-Opus应用场景&#xff1a;技术博客选题生成与文章大纲结构化输出 1. 模型概述与核心能力 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是基于Qwen3.5-4B的推理蒸馏模型&#xff0c;特别强化了结构化分析和逻辑推理能力。这个经过优化的版本以GGUF…...

热门编程语言全攻略:从入门到职业选手

目录 引言&#xff1a;为什么选择一门“热门”编程语言 1.1 编程语言热度背后的产业逻辑 1.2 初学者如何选择第一门语言 1.3 全栈/进阶者如何扩展技术栈 Python&#xff1a;万能胶水与人工智能首选 2.1 语言定位与核心应用领域 2.2 语法特点&#xff1a;简洁优雅的伪代码 2.3 学…...

Three.js 3D地图实战:从GeoJSON数据到交互式可视化(附完整代码)

Three.js 3D地图实战&#xff1a;从GeoJSON数据到交互式可视化 当我们需要在网页上展示一个具有真实地理特征的3D地图时&#xff0c;Three.js无疑是最强大的工具之一。它不仅能让地图以立体的形式呈现&#xff0c;还能添加各种交互效果&#xff0c;让数据可视化变得更加生动。本…...

打破BIM模型Web化壁垒:Revit2GLTF的轻量化转换技术革新

打破BIM模型Web化壁垒&#xff1a;Revit2GLTF的轻量化转换技术革新 【免费下载链接】Revit2GLTF view demo 项目地址: https://gitcode.com/gh_mirrors/re/Revit2GLTF 在数字化建筑设计流程中&#xff0c;BIM模型的高效协作与展示一直是行业痛点。设计团队常常面临这样的…...

FPGA实战:3级CIC滤波器Verilog实现与仿真(附完整代码)

FPGA实战&#xff1a;3级CIC滤波器Verilog实现与仿真全解析 在数字信号处理领域&#xff0c;CIC&#xff08;Cascaded Integrator-Comb&#xff09;滤波器因其结构简单、运算高效的特点&#xff0c;成为多速率系统中的关键组件。本文将深入探讨3级CIC滤波器的Verilog实现细节&a…...

雀魂AI助手Akagi:5分钟搭建你的专属麻将教练

雀魂AI助手Akagi&#xff1a;5分钟搭建你的专属麻将教练 【免费下载链接】Akagi A helper client for Majsoul 项目地址: https://gitcode.com/gh_mirrors/ak/Akagi 你是否曾在雀魂游戏中面对复杂牌局不知所措&#xff1f;是否想提升麻将技巧却苦于没有专业指导&#xf…...

NSudo:突破Windows权限壁垒的系统管理利器

NSudo&#xff1a;突破Windows权限壁垒的系统管理利器 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/ns/NSudo 一、核心价…...

告别混乱!用CANoe的arxml数据库高效管理车载网络信号(附Signal/PDU/Frame创建全流程)

告别混乱&#xff01;用CANoe的arxml数据库高效管理车载网络信号&#xff08;附Signal/PDU/Frame创建全流程&#xff09; 当车载网络从简单的CAN总线发展到包含FlexRay、以太网等多协议混合架构时&#xff0c;工程师们面临的信号管理复杂度呈指数级增长。一个典型的域控制器项目…...

MBPFan技术解析:MacBook在Linux环境下的智能散热控制机制

MBPFan技术解析&#xff1a;MacBook在Linux环境下的智能散热控制机制 【免费下载链接】mbpfan 项目地址: https://gitcode.com/gh_mirrors/mb/mbpfan 在Linux系统上使用MacBook的用户经常面临散热管理的技术挑战&#xff0c;系统原生的温度控制策略往往无法充分发挥苹果…...