ORACLE RAC ASM双存储架构下存储部分LUN异常的处理
早上接到用户电话,出现有表空间不足的告警,事实上此环境经常巡检并且有告警系统,一开始就带着有所疑惑的心理,结果同事在扩大表空间时,遇到报错 ORA-15401/ORA-17505,提示ASM空间满了:

ALERT日志:
Sat Mar 22 09:00:51 2025
LNS: Standby redo logfile selected for thread 1 sequence 96259 for destination LOG_ARCHIVE_DEST_4
Sat Mar 22 09:00:51 2025
Archived Log entry 310787 added for thread 1 sequence 96258 ID 0x730f3701 dest 1:
Sat Mar 22 09:00:53 2025
ORA-1654: unable to extend index MEDIHIS.IDX_YB_CX_RYLJXX_XH by 128 in tablespace TS_MEDIHIS
ORA-1654: unable to extend index MEDIHIS.IDX_YB_CX_RYLJXX_XH by 8192 in tablespace TS_MEDIHIS
ORA-1654: unable to extend index MEDIHIS.IDX_YB_CX_RYLJXX_XH by 128 in tablespace TS_MEDIHIS
ASM日志中告警:
Sat Mar 22 09:22:12 2025
ERROR: ORA-15041 thrown in ARB0 for group number 2
Errors in file /oracle/base/diag/asm/+asm/+ASM1/trace/+ASM1_arb0_359011.trc:
ORA-15041: diskgroup "DATA2" space exhausted
Sat Mar 22 09:22:12 2025
NOTE: stopping process ARB0
NOTE: rebalance interrupted for group 2/0x76a85195 (DATA2)
检查ASM磁盘使用情况,发现有异常:
NAME GROUP_NUMBER HEADER_STATU PATH FAILGROUP
-------------------- ------------ ------------ ---------------------------------------- ------------------------------ 0 FORMER /dev/mapper/testk1_crs02 ==忽略 0 FORMER /dev/mapper/testk2_crs01 ==忽略 0 MEMBER /dev/mapper/testk2_crs02 0 MEMBER /dev/mapper/testk2_data02 0 MEMBER /dev/mapper/testk2_data04 0 MEMBER /dev/mapper/testk2_data07 0 MEMBER /dev/mapper/testk2_data09 0 MEMBER /dev/mapper/testk2_data11 0 MEMBER /dev/mapper/testk2_data13
ARCH_0002 1 MEMBER /dev/mapper/testk1_data05 ARCH_0002
ARCH_0001 1 MEMBER /dev/mapper/testk2_data05 K2
DATA2_0004 2 MEMBER /dev/mapper/testk1_data06 L1
DATA2_0005 2 MEMBER /dev/mapper/testk1_data07 L1
DATA2_0006 2 MEMBER /dev/mapper/testk1_data08 L1
DATA2_0007 2 MEMBER /dev/mapper/testk1_data09 L1
DATA2_0013 2 MEMBER /dev/mapper/testk1_data10 L1
DATA2_0014 2 MEMBER /dev/mapper/testk1_data11 L1
DATA2_0015 2 MEMBER /dev/mapper/testk1_data12 L1
DATA2_0016 2 MEMBER /dev/mapper/testk1_data13 L1
DATA2_0017 2 MEMBER /dev/mapper/testk1_data14 L1
DATA2_0008 2 MEMBER /dev/mapper/testk2_data06 L2
DATA2_0010 2 MEMBER /dev/mapper/testk2_data08 L2
DATA2_0012 2 MEMBER /dev/mapper/testk2_data10 L2
DATA2_0001 2 MEMBER /dev/mapper/testk2_data12 L2
DATA2_0003 2 MEMBER /dev/mapper/testk2_data14 L2
_DROPPED_0002_DATA2 2 UNKNOWN L2
_DROPPED_0000_DATA2 2 UNKNOWN L2
_DROPPED_0011_DATA2 2 UNKNOWN L2
_DROPPED_0009_DATA2 2 UNKNOWN L2
DATA_0003 3 MEMBER /dev/mapper/testk1_data01 K1
DATA_0000 3 MEMBER /dev/mapper/testk1_data02 K1
DATA_0001 3 MEMBER /dev/mapper/testk1_data03 K1
DATA_0002 3 MEMBER /dev/mapper/testk1_data04 K1
DATA_0004 3 MEMBER /dev/mapper/testk2_data01 K2
DATA_0006 3 MEMBER /dev/mapper/testk2_data03 K2
_DROPPED_0007_DATA 3 UNKNOWN K2
_DROPPED_0005_DATA 3 UNKNOWN K2
OCR_0000 4 MEMBER /dev/mapper/testk1_crs01 OCR_0000
OCR_0002 4 MEMBER /ocrvote3/ocr/ocrvote3 OCRSERVER3
OCR_0003 4 UNKNOWN OCR_0003 40 rows selected.
对比日志和ASM磁盘状态,可以发现是出现了一些磁盘OFFLINE,结合ASM日志以及操作系统的MESSAGE日志,可以确定是存储当时异常,导致了ASM磁盘被OFFLINE/DROP。
存储检查和修复问题后,如何将这些磁盘再加回来呢?
参考命令和步骤如下:
1、在disk_repair_time时间范围,磁盘状态是OFFLINE NORMALOCR_0000 4 MEMBER ONLINE NORMAL /dev/mapper/sc7k1_crs01 5
OCR_0002 4 MEMBER ONLINE NORMAL /ocrvote3/ocr/ocrvote3 1
OCR_0003 4 UNKNOWN OFFLINE NORMAL 5
直接一条命令加回去即可:
SQL> ALTER DISKGROUP OCR ONLINE DISKS IN FAILGROUP OCR_0003;Diskgroup altered.
SQL> select NAME,GROUP_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,PATH,TOTAL_MB from V$ASM_DISK where name like 'OCR%' order by 2,1;NAME GROUP_NUMBER MOUNT_S HEADER_STATU MODE_ST STATE PATH TOTAL_MB
-------------------- ------------ ------- ------------ ------- -------- ------------------------------ ----------
OCR_0000 4 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k1_crs01 5120
OCR_0002 4 CACHED MEMBER ONLINE NORMAL /ocrvote3/ocr/ocrvote3 1024
OCR_0003 4 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_crs02 51202、超过disk_repair_time时间范围,磁盘状态是_DROPPED_0005_DATA 3 UNKNOWN OFFLINE FORCING
_DROPPED_0005_DATA 3 UNKNOWN OFFLINE FORCING 1024
_DROPPED_0007_DATA 3 UNKNOWN OFFLINE FORCING 1024 直接加回去报错:
SQL> ALTER DISKGROUP DATA ONLINE DISKS IN FAILGROUP K2;
ALTER DISKGROUP DATA ONLINE DISKS IN FAILGROUP K2
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15281: not all specified disks were brought ONLINE
ORA-15284: ASM terminated ALTER DISKGROUP ONLINE需要使用FORCE参数:
SQL> ALTER DISKGROUP DATA ADD FAILGROUP K2 DISK '/dev/mapper/sc7k2_data02' FORCE,'/dev/mapper/sc7k2_data04' FORCE REBALANCE POWER 8;Diskgroup altered.加回去后检查:
SQL> select NAME,GROUP_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,PATH,TOTAL_MB from V$ASM_DISK order by 2,1;NAME GROUP_NUMBER MOUNT_S HEADER_STATU MODE_ST STATE PATH TOTAL_MB
-------------------- ------------ ------- ------------ ------- -------- ------------------------------ ----------0 CLOSED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_data13 00 CLOSED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_data11 00 CLOSED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_data09 00 CLOSED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_data07 00 CLOSED FORMER ONLINE NORMAL /dev/mapper/sc7k2_crs01 00 CLOSED FORMER ONLINE NORMAL /dev/mapper/sc7k1_crs02 0
ARCH_0001 1 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_data05 1048576
ARCH_0002 1 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k1_data05 1048576
DATA_0000 3 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k1_data02 1048576
DATA_0001 3 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k1_data03 1048576
DATA_0002 3 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k1_data04 1048576
DATA_0003 3 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k1_data01 1048576
DATA_0004 3 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_data01 1048576
DATA_0006 3 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_data03 1048576
DATA_0008 3 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_data02 1048576
DATA_0009 3 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_data04 1048576
_DROPPED_0005_DATA 3 MISSING UNKNOWN OFFLINE FORCING 1048576
_DROPPED_0007_DATA 3 MISSING UNKNOWN OFFLINE FORCING 1048576
OCR_0000 4 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k1_crs01 5120
OCR_0002 4 CACHED MEMBER ONLINE NORMAL /ocrvote3/ocr/ocrvote3 1024
OCR_0003 4 CACHED MEMBER ONLINE NORMAL /dev/mapper/sc7k2_crs02 512039 rows selected.
后续等待ASM磁盘数据再平衡完成,观察数据库性能正常,即可完成。
SQL> SELECT * FROM gv$asm_operation;
INST_ID GROUP_NUMBER OPERA STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES ERROR_CODE
---------- ------------ ----- ---------- ---------- ---------- ---------- ---------- ---------- ----------- ------------
2 2 REBAL RUN 8 8 140707 6275009 16777 365
2 3 REBAL WAIT 8
1 2 REBAL WAIT 8
1 3 REBAL RUN 8 8 212238 2202765 18208 109
相关文章:
ORACLE RAC ASM双存储架构下存储部分LUN异常的处理
早上接到用户电话,出现有表空间不足的告警,事实上此环境经常巡检并且有告警系统,一开始就带着有所疑惑的心理,结果同事在扩大表空间时,遇到报错 ORA-15401/ORA-17505,提示ASM空间满了: ALERT日志࿱…...
【设计模式】SOLID 设计原则概述
SOLID 是面向对象设计中的五大原则,不管什么面向对象的语言, 这个准则都很重要,如果你没听说过,赶紧先学一下。它可以提高代码的可维护性、可扩展性和可读性,使代码更加健壮、易于测试和扩展。SOLID 代表以下五个设计原…...
从边缘到核心:群联云防护如何重新定义安全加速边界?
一、安全能力的全方位碾压 1. 协议层深度防护 四层防御: 动态过滤畸形TCP/UDP包(如SYN Flood),传统CDN仅限速率控制。技术示例:基于AI的协议指纹分析,拦截异常连接模式。 七层防御: 精准识别业…...
others-rustdesk远程
title: others-rustdesk远程 categories: Others tags: [others, 远程] date: 2025-03-19 10:19:34 comments: false mathjax: true toc: true others-rustdesk远程, 替代 todesk 的解决方案 前篇 官方 服务器 - https://rustdesk.com/docs/zh-cn/self-host/rustdesk-server-o…...
记录 macOS 上使用 Homebrew 安装的软件
Homebrew 是 macOS 上最受欢迎的软件包管理器之一,能够轻松安装各种命令行工具和 GUI 应用。本文记录了我通过 Homebrew 安装的各种软件,并对它们的用途和基本使用方法进行介绍。 🍺 Homebrew 介绍 Homebrew 是一个开源的包管理器ÿ…...
springmvc中使用interceptor拦截
HandlerInterceptor 是Spring MVC中用于在请求处理之前、之后以及完成之后执行逻辑的接口。它与Servlet的Filter类似,但更加灵活,因为它可以访问Spring的上下文和模型数据。HandlerInterceptor 常用于日志记录、权限验证、性能监控等场景。 ### **1. 创…...
C++基础 [八] - list的使用与模拟实现
目录 list的介绍 List的迭代器失效问题 List中sort的效率测试 list 容器的模拟实现思想 模块分析 作用分析 list_node类设计 list 的迭代器类设计 迭代器类--存在的意义 迭代器类--模拟实现 模板参数 和 成员变量 构造函数 * 运算符的重载 运算符的重载 -- 运…...
使用excel.EasyExcel实现导出有自定义样式模板的excel数据文件,粘贴即用!!!
客户要求导出的excel文件是有好看格式的,当然本文举例模板文件比较简单,内容丰富的模板可以自行设置,话不多说,第一步设置一个"好看"的excel文件模板 上面要注意的地方是{.变量名} ,这里的变量名对应的就是…...
Spring Boot 集成 Elasticsearch怎样在不启动es的情况下正常启动服务
解释 在spingboot 集成es客户端后,每当服务启动时,服务默认都会查看es中是否已经创建了对应的索引,如果没有索引则创建。基于上面的规则我们可以通过配置不自动创建索引来达到在没有es服务的情况下正常启动服务。 解决办法 在entity类的Docu…...
Java面试黄金宝典8
1. 什么是 Spring MVC 定义 Spring MVC 是 Spring 框架里用于构建 Web 应用程序的模块,它严格遵循 MVC(Model - View - Controller)设计模式。这种设计模式把应用程序清晰地划分成三个主要部分: Model(模型࿰…...
JVM常见概念之条件移动
问题 当我们有分支频率数据时,有什么有趣的技巧可以做吗?什么是条件移动? 基础知识 如果您需要在来自一个分支的两个结果之间进行选择,那么您可以在 ISA 级别做两件不同的事情。 首先,你可以创建一个分支ÿ…...
Android AI ChatBot-v1.6.3-28-开心版[免登录使用GPT-4o和DeepSeek]
Android AI ChatBot- 链接:https://pan.xunlei.com/s/VOLi1Ua071S6QZBGixcVL5eeA1?pwdp3tt# 免登录使用GPT-4o和DeepSeek...
集成学习(上):Bagging集成方法
一、什么是集成学习? 在机器学习的世界里,没有哪个模型是完美无缺的。就像古希腊神话中的"盲人摸象",单个模型往往只能捕捉到数据特征的某个侧面。但当我们把多个模型的智慧集合起来,就能像拼图一样还原出完整的真相&a…...
DeepSeek R1 本地部署指南 (3) - 更换本地部署模型 Windows/macOS 通用
0.准备 完成 Windows 或 macOS 安装: DeepSeek R1 本地部署指南 (1) - Windows 本地部署-CSDN博客 DeepSeek R1 本地部署指南 (2) - macOS 本地部署-CSDN博客 以下内容 Windows 和 macOS 命令执行相同: Windows 管理员启动:命令提示符 CMD ma…...
【TI MSPM0】Timer学习
一、计数器 加法计数器:每进入一个脉冲,就加一减法计算器:每进入一个脉冲,就减一 当计数器减到0,触发中断 1.最短计时时间 当时钟周期为1khz时,最短计时时间为1ms,最长计时时间为65535ms 当时…...
Windows部署deepseek R1训练数据后通过AnythingLLM当服务器创建问答页面
如果要了解Windows部署Ollama 、deepseek R1请看我上一篇内容。 这是接上一篇的。 AnythingLLM是一个开源的全栈AI客户端,支持本地部署和API集成。它可以将任何文档或内容转化为上下文,供各种语言模型(LLM)在对话中使用。以下是…...
重删算法中的Bloom滤波器详解与C++实现
一、Bloom滤波器基础概念 Bloom滤波器(Bloom Filter)是一种空间高效的概率型数据结构,用于快速判断某个元素是否存在于集合中。其核心特性: 存在不确定性:可能出现假阳性(False Positive)&…...
信奥赛CSP-J复赛集训(模拟算法专题)(27):P5016 [NOIP 2018 普及组] 龙虎斗
信奥赛CSP-J复赛集训(模拟算法专题)(27):P5016 [NOIP 2018 普及组] 龙虎斗 题目背景 NOIP2018 普及组 T2 题目描述 轩轩和凯凯正在玩一款叫《龙虎斗》的游戏,游戏的棋盘是一条线段,线段上有 n n n 个兵营(自左至右编号 1 ∼ n 1 \sim n 1∼n),相邻编号的兵营之间…...
多模态大模型常见问题
1.视觉编码器和 LLM 连接时,使用 BLIP2中 Q-Former那种复杂的 Adaptor 好还是 LLaVA中简单的 MLP 好,说说各自的优缺点? Q-Former(BLIP2): 优点:Q-Former 通过查询机制有效融合了视觉和语言特征…...
SpringBoot项目实战(初级)
目录 一、数据库搭建 二、代码开发 1.pom.xml 2.thymeleaf模块处理的配置类 3.application配置文件 4.配置(在启动类中) 5.编写数据层 ②编写dao层 ③编写service层 接口 实现类 注意 补充(注入的3个注解) 1.AutoWir…...
Linux NFS、自动挂载与系统启动管理指南
1. NFS客户端挂载导出的目录的方式 NFS(网络文件系统) 允许将远程服务器的目录挂载到本地,像访问本地文件一样操作远程文件。挂载方式主要有两种: 手动挂载:使用 mount 命令(临时生效,重启后丢…...
uniapp实现全局拖拽按钮
要先引入 “vue3-draggable-resizable”: “^1.6.5” 1.创建DragComponent组件 <template><!-- 抽屉组件 --><div class"drag-container" id"dragBox" :style"{ zIndex: zIndex }"><Vue3DraggableResizable :initW"…...
SOFABoot-10-聊一聊 sofatboot 的十个问题
前言 大家好,我是老马。 sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFABoot-00-sofaboot 概览 SOFABoot-01-蚂蚁金服开源的 s…...
计算机网络——总结
01. 网络的发展及体系结构 网络演进历程 从1969年ARPANET的4个节点发展到如今覆盖全球的互联网,网络技术经历了电路交换到分组交换、有线连接到无线覆盖的革命性变革。5G时代的到来使得网络传输速度突破10Gbps,物联网设备数量突破百亿级别。 网络体系…...
Umi-OCR- OCR 文字识别工具,支持截图、批量图片排版解析
Umi-OCR 是免费开源的离线 OCR 文字识别软件。无需联网,解压即用,支持截图、批量图片、PDF 扫描件的文字识别,能识别数学公式、二维码,可生成双层可搜索 PDF。内置多语言识别库,界面支持多语言切换,提供命令…...
高速网络包处理,基础网络协议上内核态直接处理数据包,XDP技术的原理
文章目录 预备知识TCP/IP 网络模型(4层、7层)iptables/netfilterlinux网络为什么慢 DPDKXDPBFPeBPFXDPXDP 程序典型执行流通过网络协议栈的入包XDP 组成 使用 GO 编写 XDP 程序明确流程选择eBPF库编写eBPF代码编写Go代码动态更新黑名单 预备知识 TCP/IP…...
C++:背包问题习题
1. 货币系统 1371. 货币系统 - AcWing题库 给定 V 种货币(单位:元),每种货币使用的次数不限。 不同种类的货币,面值可能是相同的。 现在,要你用这 V 种货币凑出 N 元钱,请问共有多少种不同的…...
数据可信安全流通实战,隐语开源社区Meetup武汉站开放报名
隐语开源社区 Meetup 系列再出发!2025 年将以武汉为始发站,聚焦"技术赋能场景驱动",希望将先进技术深度融入数据要素流转的各个环节,推动其在实际应用场景中落地生根,助力释放数据要素的最大潜能!…...
java使用Apache POI 操作word文档
项目背景: 当我们对一些word文档(该文档包含很多的标题比如 1.1 ,1.2 , 1.2.1.1, 1.2.2.3)当我们删除其中一项或者几项时,需要手动的对后续的进行补充。该功能主要是对标题进行自动的补充。 具…...
【 C/C++ 包管理工具】vcpkg安装+使用
【 C/C 包管理工具】vcpkg安装使用 Vcpkg 是由 Microsoft 和 C 社区维护的免费开源 C/C 包管理器,可在 Windows、macOS 和 Linux 上运行。 可以很方便的安装管理 C/C 库。 1. 安装 不要安装到Program Files这种有空格的路径下,否则后面安装库可能出现…...
