RMAN备份与ORA-19625&ORA-19502

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:     常州一地区负责人嚎哭,他业务全停了,说是数据库连接不上了,原因是RMAN备份引起的,具体原因分析请看下文。     1、首先,看系统存储情况,如下图: 系统负责人说,D盘和E盘都有数据库文件,数据库备份在E盘。
    常州一地区负责人嚎哭,他业务全停了,说是数据库连接不上了,原因是RMAN备份引起的,具体原因分析请看下文。
    1、首先,看系统存储情况,如下图:

系统负责人说,D盘和E盘都有数据库文件,数据库备份在E盘。
   2、 查看数据库告警日志,有大量如下信息,看信息貌似数据库归档有问题了:
Sun Aug 21 11:30:31 2016
ARCH: Archival stopped, error occurred. Will continue retrying
Sun Aug 21 11:30:31 2016
Archiver process freed from errors. No longer stopped
Sun Aug 21 11:35:31 2016
Archiver process freed from errors. No longer stopped
Sun Aug 21 11:35:31 2016
ARCH: Archival stopped, error occurred. Will continue retrying
Archiver process freed from errors. No longer stopped
ARCH: Archival stopped, error occurred. Will continue retrying
    3、查看数据库的RMAN备份目录,RMAN的全备份日志里的ORA-19502告诉了我们原因,确实是E盘磁盘空间不足:
RMAN> RUN {
2> allocate channel c1 type disk;
3> allocate channel c2 type disk;
4> allocate channel c3 type disk;
5> backup filesperset 6 database format 'E:/backup/data/full_data_%d_%T_%s_%p';
6> sql 'alter system archive log current';
7> sql 'alter system archive log current';
8> sql 'alter system archive log current';
9> backup archivelog all format 'E:/backup/data/full_arch_%d_%T_%s_%p' delete input;
10> backup current controlfile format 'E:/backup/data/data/full_ctrl_%d_%T_%s_%p';
11> crosscheck backup;
12> crosscheck archivelog all;
13> delete noprompt archivelog all completed before  "sysdate-15";
14> delete noprompt expired backup;
15> delete noprompt obsolete;
16> release channel c1;
17> release channel c2;
18> release channel c3;
19> }
20> exit;
......
通道 c3: 正在启动段 1 于 15-8月 -16
RMAN-03009: backup 命令 (c1 通道上, 在 08/15/2016 17:34:03 上) 失败
ORA-19502: 文件 "E:\BACKUP\DATA\FULL_DATA_ORCL2_20160815_1136_1", 块编号 6295680 (块大小=8192) 上出现写入错误
ORA-27070: 异步读取/写入失败
OSD-04016: 异步 I/O 请求排队时出错。
O/S-Error: (OS 112) 磁盘空间不足。
通道 c1 已禁用, 将在另一个通道上运行该通道上失败的作业
RMAN-03009: backup 命令 (c2 通道上, 在 08/15/2016 17:34:03 上) 失败
ORA-19502: 文件 "E:\BACKUP\DATA\FULL_DATA_ORCL2_20160815_1135_1", 块编号 9574272 (块大小=8192) 上出现写入错误
ORA-27070: 异步读取/写入失败
OSD-04016: 异步 I/O 请求排队时出错。
O/S-Error: (OS 112) 磁盘空间不足。
通道 c2 已禁用, 将在另一个通道上运行该通道上失败的作业
释放的通道: c1
释放的通道: c2
释放的通道: c3
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backup 命令 (c3 通道上, 在 08/15/2016 17:34:03 上) 失败
ORA-19502: 文件 "E:\BACKUP\DATA\FULL_DATA_ORCL2_20160815_1137_1", 块编号 4491392 (块大小=8192) 上出现写入错误
ORA-27070: 异步读取/写入失败
OSD-04016: 异步 I/O 请求排队时出错。
O/S-Error: (OS 112) 磁盘空间不足。
    4、结合告警日志和RMAN全备份日志,猜测数据库的归档目录也在E盘,经查看数据库的归档目录在E:\BACAKUP\ARCH下,然后发现E:\BACKUP\ARCH下有438G的归档文件,查看最近的归档备份日志:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup 命令 (在 08/16/2016 12:03:19 上) 失败
RMAN-06059: 没有找到预期的归档日志, 归档日志的丢失将影响可恢复性
ORA-19625: 识别文件E:\BACKUP\ARCH\ARCH_866716582_1_27892.ARC时出错
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
    由上述RMAN归档备份日志,发现有归档文件被误删除了,导致归档备份无法进行,从而导致E:\BACKUP\ARCH下有大量的归档积压,将E盘爆掉,数据库无法归档,导致数据库hang住。
    5、找到原因后,处理方法很简单,先手工删除积压的归档文件释放E盘空间,使用RMAN清理被误删除及过期的归档文件:
C:\>rman nocatalog
RMAN>connect target /
RMAN>crosscheck archivelog all;
RMAN>change archivelog all crosscheck;
RMAN>delete expired archivelog all;
    然后,使用RMAN重新启动数据库全备份,数据库服务异常问题解决。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
Linux 测试技术
非LVM磁盘分区根目录扩容操作参考
在操作系统部署时,根目录使用的是非LVM分区,后期空间不足又无法扩容。 提供一个思路是新增一块硬盘,创建为逻辑卷,把根目录迁移过去,然后引导以新分区启动。 迁移完成后,旧的根目录可以再格式化为逻辑卷,合并到新磁盘分区。 本操作仅在CentOS Linux release 7.9.2009实验过,其他环境可能不支持。
2408 0
|
9月前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
本教程演示如何在ACK中多机分布式部署DeepSeek R1满血版。
|
SQL 安全 网络安全
Hospital Management System v4.0 SQL 注入(CVE-2022-24263)
Hospital Management System v4.0 SQL 注入(CVE-2022-24263)
|
算法 NoSQL Java
spring cloud的限流算法有哪些?
【8月更文挑战第18天】spring cloud的限流算法有哪些?
356 3
|
前端开发 JavaScript Java
一款神仙级SpringCloud微服务开源项目,接私活吊到不行!(附源码)
一个由商业级项目升级优化而来的微服务架构,采用SpringBoot 2.7 、SpringCloud 等核心技术构建,提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS多租户微服务平台。
一款神仙级SpringCloud微服务开源项目,接私活吊到不行!(附源码)
|
设计模式 Java 测试技术
设计模式:使用状态模式推动业务全生命周期的流转
本文借助海外互金业务的借款流程展开讨论,随着业务状态不断增多,if-else分支代码充斥项目,如何通过状态模式去解耦业务中的状态的流转,通过合理的抽象满足面向对象设计的开闭原则,让业务优雅地扩展。
11963 0
设计模式:使用状态模式推动业务全生命周期的流转
|
自然语言处理 文字识别 iOS开发
内置GPT的PDF工具-PDFgear
现在的PDF工具,各有特色,以及主打的用户群定位都不一样。小编不知道大家喜欢哪一款?不过今天,我把我最常用也是最喜欢的一款推荐给大家,这款软件叫PDFgear 。 PDFgear 是一款功能全面、易于使用的免费PDF软件。它能对PDF文件进行查看、转换、填写表单、组织页面等操作,帮助用户更高效地处理PDF文件。
|
网络虚拟化 网络架构
H3C_交换机_Vlan配置
H3C_交换机_Vlan配置
H3C_交换机_Vlan配置
|
存储 Prometheus 监控
Prometheus(普罗米修斯)监控系统
Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由 SoundCloud 公司开发。
14093 1
Prometheus(普罗米修斯)监控系统
|
XML Java 数据库
SpringBoot多数据源切换(十二)
SpringBoot多数据源切换(十二)
332 0
SpringBoot多数据源切换(十二)