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 description
    FROM dba_extents e, v$database_block_corruption c
   WHERE e.file_id = c.file#
     AND e.block_id <= c.block# + c.blocks - 1
     AND e.block_id + e.blocks - 1 >= c.block#
  UNION
  SELECT 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' description
    FROM dba_segments s, v$database_block_corruption c
   WHERE s.header_file = c.file#
     AND s.header_block between c.block# and c.block# + c.blocks - 1
  UNION
  SELECT 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' description
    FROM dba_free_space f, v$database_block_corruption c
   WHERE f.file_id = c.file#
     AND f.block_id <= c.block# + c.blocks - 1
     AND 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.总结

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

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

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

相关文章

canvas学习

Canvas API 提供了一个通过 JavaScript 和 HTML 的 元素来绘制图形的方式。它可以用于动画、游戏画面、数据可视化、图片编辑以及实时视频处理等方面。 Canvas 的基本用法 <canvas> 元素 <canvas id"tutorial" width"150" height"150&quo…

基数和基数转换

目录 一、定义&#xff1a; 二、各个进制&#xff1a; 1、二进制&#xff1a; 2、八进制&#xff1a; 3、十进制&#xff1a; 4、十六进制&#xff1a; 三、基数转换&#xff1a; 1、各类基数转十进制&#xff1a; 二转十&#xff1a; 八转十&#xff1a; 十六转八&a…

1. 人工智能中的相关术语的概述

1.1 机器学习的概念&#xff1a;机器学习是指从有限的观测数据中学习出具有一般性的规律&#xff0c;并利用这些规律对未知数据进行预测的方法。机器学习可以分为监督学习&#xff0c;无监督学习和强化学习。 传统的机器学习主要关注于如何学习一个预测模型。一般需要首先将数据…

【教程】学会用PS做海报(教你如何套模板+模板资源),以研电赛展架为例

网上的视频都是好几十个小时&#xff0c;看起来很耗费时间&#xff0c;其实做海报&#xff0c;展架只用到其中的一部分功能&#xff0c;本文会进行讲解 这里写目录标题 去年研电赛做的展架1.首先打开比赛给的展板照片&#xff0c;按照研电赛要求设置大小2.调出ps的几个窗口&am…

苹果发布云AI系统;谷歌警告0day漏洞被利用;微软紧急推迟 AI 召回功能;劫持活动瞄准 K8s 集群 | 网安周报0614

苹果发布私有云计算&#xff0c;开创 AI 处理新时代&#xff0c;隐私保护再升级&#xff01; 苹果宣布推出一个名为“私有云计算”&#xff08;PCC&#xff09;的“开创性云智能系统”&#xff0c;该系统专为在云中以保护隐私的方式处理人工智能&#xff08;AI&#xff09;任务…

【数学竞赛】阿里巴巴全球数学竞赛(附2019-2024年试题+答案)

阿里巴巴全球数学竞赛对所有年龄、背景和职业的个人开放。迄今为止&#xff0c;最年长的参赛者超过80岁&#xff0c;最年轻的仅8岁。 2024年共计801名选手参加比赛&#xff0c;涟水这中专的姜萍获得了全球12名的出众成绩&#xff0c;港中大也抛出了橄榄枝。 初赛注重享受数学之…

【Linux内核】伙伴系统算法和slab分配器(1)

【Linux内核】伙伴系统算法和slab分配器&#xff08;1&#xff09; 目录 【Linux内核】伙伴系统算法和slab分配器&#xff08;1&#xff09;伙伴系统&#xff08;buddy&#xff09;算法伙伴系统算法基本原理内存申请内存回收 接口函数源码分析内存分配接口物理内存释放接口规范…

【TypeScript】类型兼容(协变、逆变和双向协变)

跟着小满zs 学习 ts&#xff0c;原文&#xff1a;学习TypeScript进阶类型兼容_typescript进阶阶段类型兼容 小满-CSDN博客 类型兼容&#xff0c;就是用于确定一个类型是否能赋值给其他的类型。如果A要兼容B 那么A至少具有B相同的属性。 // 主类型 interface A {name: string,a…

【游戏】一款纯web集前后端为一体的沙盒游戏框架介绍

1.biomes-game是什么&#xff1f; 一款基于MIT协议开源沙盒 MMORPG。游戏中可建造、采集、玩迷你游戏等等&#xff0c;所有操作均可通过浏览器完成。它主要使用React框架&#xff0c;前后端用 Typescript 和 WebAssembly 编写。 2.如何本地体验&#xff1f; 配置&#xff1a;…

计算机网络 —— 一文搞懂TCP/UDP

传输层&#xff1a;TCP/UDP 1. TCP1.1 TCP连接管理1.2 TCP首部格式 2. UDPUDP首部格式 3. 其他传输层协议3.1 SCTP3.2 DCCP 传输层实现源端主机和目标端主机上对等实体间会话&#xff0c;TCP/IP中两个代表性的传输层协议分别是TCP和UDP&#xff0c;两者均使用端口来标识传输数据…

数据防泄漏的六个步骤|数据防泄漏软件有哪些

在当前复杂多变的网络安全环境下&#xff0c;数据防泄漏软件成为了企业信息安全架构中不可或缺的一环。下面以安企神软件为例&#xff0c;告诉你怎么防止数据泄露&#xff0c;以及好用的防泄露软件。 1. 安企神软件 安企神软件是当前市场上备受推崇的企业级数据防泄漏解决方案…

为什么微信输入法是比搜狗输入法更好的选择?

微信输入法官网&#xff1a;https://z.weixin.qq.com/ 最近使用搜狗输入法时&#xff0c;频繁弹出广告&#xff0c;实在令人烦恼&#xff0c;于是我干脆卸载了它。然而&#xff0c;电脑上没有输入法是不行的。经过在网上对比了许多输入法软件后&#xff0c;我发现了微信输入法。…

算法:分治(快排)题目练习

目录 题目一&#xff1a;颜色分类 题目二&#xff1a;排序数组 题目三&#xff1a;数组中的第k个最大元素 题目四&#xff1a;库存管理III 题目一&#xff1a;颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;…

红队攻防渗透技术实战流程:中间件安全:JettyJenkinsWeblogicWPS

红队攻防渗透实战 1. 中间件安全1.1 中间件-Jetty-CVE&信息泄漏1.2 中间件-Jenkins-CVE&RCE执行1.2.1 cve_2017_1000353 JDK-1.8.0_291 其他版本失效1.2.2 CVE-2018-10008611.2.3 cve_2019_100300 需要用户帐号密码1.3 中间件-Weblogic-CVE&反序列化&RCE1.4 应…

驱动开发(四):Linux内核中断

驱动开发系列文章&#xff1a; 驱动开发&#xff08;一&#xff09;&#xff1a;驱动代码的基本框架 驱动开发&#xff08;二&#xff09;&#xff1a;创建字符设备驱动 驱动开发&#xff08;三&#xff09;&#xff1a;内核层控制硬件层 驱动开发&#xff08;四&#xf…

2024FIC决赛

容器密码&#xff1a;2024Fic~Competition~Finals杭州&Powered~By~HL! 案件背景: 2023年3月15日凌晨,受害人短视频平台上看到一段近期火爆的交通事故视频&#xff0c;留言后有人通过私信联系&#xff0c;称有一个赚大钱的机会&#xff0c;该人自称李某&#xff0c;提议让…

如何通过抖音自动评论精准获客实现业务增长?这些方法值得一试!

在当今竞争激烈的商业环境中&#xff0c;企业若想脱颖而出&#xff0c;就必须掌握精准获客的艺术。精准获客&#xff0c;即通过精确的市场定位和营销策略&#xff0c;吸引并保留最有可能成为客户的目标群体。它不仅能提高转化率&#xff0c;还能有效降低营销成本&#xff0c;是…

实况:老菜鸟自力更生从零开始重学spring目标是画出一张唬人大图(二、源码下载编译)

前情提要&#xff1a;调试前的基础知识梳理 速览 “Spring”包含哪些东西源码下载源码编译1、编译工具选择&#xff1a;gradle2、使用gradle编译spring并导入idea预编译spring-oxm导入IDEA确认合适的jdk版本排除spring-aspects模块 开始调试 “Spring”包含哪些东西 可以明确的…

LVS负载均衡:理解IPVS和IPVSADM的内部工作原理

LVS 负载均衡工作模式 LVS&#xff08;Linux Virtual Server&#xff09; 共有三种工作模式&#xff1a;DR、Tunnel、NAT。 DR&#xff08;Direct Routing&#xff09;&#xff1a; 技术原理&#xff1a;DR模式下&#xff0c;LVS调度器接收到请求后&#xff0c;直接通过MAC地址…

Kali中安装和使用docker的学习笔记

一、常见命令 ctrl 、shift、 &#xff1a; 窗口变大&#xff1b; ctrl 、- &#xff1a;窗口变小&#xff1b; ctrl L&#xff1a; 清屏 &#xff1b; sudo su : 切换root 用户&#xff1b; ip addr / ifconfig: 获取IP地址&#xff1b; systemctl start ssh…