联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
有客户执行drop disk磁盘组操作之后,然后立刻从oracle asmlib层面执行了oracleasm deletedisk,并且在操作系统层面delete partition(删除磁盘分区),导致磁盘组直接dismount
Tue Nov 26 16:44:04 2024 SQL> alter diskgroup data drop disk DATA_0008 NOTE: GroupBlock outside rolling migration privileged region Tue Nov 26 08:44:05 2024 NOTE: stopping process ARB0 NOTE: rebalance interrupted for group 2 /0x28dec0d5 (DATA) NOTE: requesting all-instance membership refresh for group=2 NOTE: membership refresh pending for group 2 /0x28dec0d5 (DATA) Tue Nov 26 08:44:14 2024 GMON querying group 2 at 48 for pid 18, osid 27385 SUCCESS: refreshed membership for 2 /0x28dec0d5 (DATA) SUCCESS: alter diskgroup data drop disk DATA_0008 NOTE: starting rebalance of group 2 /0x28dec0d5 (DATA) at power 2 Starting background process ARB0 Tue Nov 26 08:44:14 2024 ARB0 started with pid=38, OS id =56987 NOTE: assigning ARB0 to group 2 /0x28dec0d5 (DATA) with 2 parallel I /Os Tue Nov 26 08:44:17 2024 NOTE: Attempting voting file refresh on diskgroup DATA NOTE: Refresh completed on diskgroup DATA. No voting file found. Tue Nov 26 08:44:57 2024 cellip.ora not found. Tue Nov 26 17:08:46 2024 SQL> alter diskgroup data drop disk DATA_0008 ORA-15032: not all alterations performed ORA-15071: ASM disk "DATA_0008" is already being dropped ERROR: alter diskgroup data drop disk DATA_0008 Tue Nov 26 17:10:30 2024 SQL> alter diskgroup data drop disk DATA_0008 ORA-15032: not all alterations performed ORA-15071: ASM disk "DATA_0008" is already being dropped ERROR: alter diskgroup data drop disk DATA_0008 Tue Nov 26 09:34:38 2024 WARNING: cache read a corrupt block:group=2(DATA) dsk=8 blk=98 disk=8 (DATA_0008) incarn=3911069755 au=0 blk=98 count=1 Errors in file /u01/app/grid/diag/asm/ +asm/+ASM1 /trace/ +ASM1_arb0_56987.trc: ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] NOTE: a corrupted block from group DATA was dumped to /u01/app/grid/diag/asm/ +asm/+ASM1 /trace/ +ASM1_arb0_56987.trc WARNING:cache read (retry) a corrupt block:group=2(DATA) dsk=8 blk=98 disk=8(DATA_0008)incarn=3911069755 au=0 blk=98 count=1 Errors in file /u01/app/grid/diag/asm/ +asm/+ASM1 /trace/ +ASM1_arb0_56987.trc: ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] ERROR: cache failed to read group=2(DATA) dsk=8 blk=98 from disk(s): 8(DATA_0008) ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] NOTE: cache initiating offline of disk 8 group DATA NOTE: process _arb0_+asm1(56987)initiating offline of disk 8.3911069755 (DATA_0008) with mask 0x7e in group 2 NOTE: initiating PST update: grp = 2, dsk = 8 /0xe91e303b , mask = 0x6a, op = clear Tue Nov 26 09:34:38 2024 GMON updating disk modes for group 2 at 49 for pid 38, osid 56987 ERROR: Disk 8 cannot be offlined, since diskgroup has external redundancy. ERROR: too many offline disks in PST (grp 2) Tue Nov 26 09:34:38 2024 NOTE: cache dismounting (not clean) group 2 /0x28DEC0D5 (DATA) WARNING: Offline for disk DATA_0008 in mode 0x7f failed. NOTE: messaging CKPT to quiesce pins Unix process pid: 89645, image: oracle@ahptdb5 (B000) Tue Nov 26 09:34:38 2024 NOTE: halting all I /Os to diskgroup 2 (DATA) Errors in file /u01/app/grid/diag/asm/ +asm/+ASM1 /trace/ +ASM1_arb0_56987.trc (incident=413105): ORA-15335: ASM metadata corruption detected in disk group 'DATA' ORA-15130: diskgroup "DATA" is being dismounted ORA-15066: offlining disk "DATA_0008" in group "DATA" may result in a data loss ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] Tue Nov 26 09:34:39 2024 ERROR: ORA-15130 in COD recovery for diskgroup 2 /0x28dec0d5 (DATA) ERROR: ORA-15130 thrown in RBAL for group number 2 Errors in file /u01/app/grid/diag/asm/ +asm/+ASM1 /trace/ +ASM1_rbal_27385.trc: ORA-15130: diskgroup "DATA" is being dismounted ERROR: ORA-15335 thrown in ARB0 for group number 2 Errors in file /u01/app/grid/diag/asm/ +asm/+ASM1 /trace/ +ASM1_arb0_56987.trc: ORA-15335: ASM metadata corruption detected in disk group 'DATA' ORA-15130: diskgroup "DATA" is being dismounted ORA-15066: offlining disk "DATA_0008" in group "DATA" may result in a data loss ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26368] [endian_kfbh] [2147483656] [98] [0 != 1] NOTE: stopping process ARB0 Tue Nov 26 09:34:40 2024 NOTE: LGWR doing non-clean dismount of group 2 (DATA) NOTE: LGWR sync ABA=716.2684 last written ABA 716.2684 |
通过重新分区,并且kfed repair修复磁盘头操作之后,重新mount磁盘组报错
SQL> alter diskgroup data mount NOTE: cache registered group DATA number=2 incarn=0x73bec220 NOTE: cache began mount (first) of group DATA number=2 incarn=0x73bec220 NOTE: Assigning number (2,16) to disk ( /dev/oracleasm/disks/DATA208 ) NOTE: Assigning number (2,15) to disk ( /dev/oracleasm/disks/DATA207 ) NOTE: Assigning number (2,14) to disk ( /dev/oracleasm/disks/DATA206 ) NOTE: Assigning number (2,13) to disk ( /dev/oracleasm/disks/DATA205 ) NOTE: Assigning number (2,12) to disk ( /dev/oracleasm/disks/DATA204 ) NOTE: Assigning number (2,11) to disk ( /dev/oracleasm/disks/DATA203 ) NOTE: Assigning number (2,10) to disk ( /dev/oracleasm/disks/DATA202 ) NOTE: Assigning number (2,9) to disk ( /dev/oracleasm/disks/DATA201 ) NOTE: Assigning number (2,6) to disk ( /dev/oracleasm/disks/DATA07 ) NOTE: Assigning number (2,5) to disk ( /dev/oracleasm/disks/DATA06 ) NOTE: Assigning number (2,4) to disk ( /dev/oracleasm/disks/DATA05 ) NOTE: Assigning number (2,0) to disk ( /dev/oracleasm/disks/DATA01 ) NOTE: Assigning number (2,3) to disk ( /dev/oracleasm/disks/DATA04 ) NOTE: Assigning number (2,2) to disk ( /dev/oracleasm/disks/DATA03 ) NOTE: Assigning number (2,1) to disk ( /dev/oracleasm/disks/DATA02 ) NOTE: Assigning number (2,8) to disk ( /dev/oracleasm/disks/DATA101 ) Tue Nov 26 11:48:22 2024 NOTE: GMON heartbeating for grp 2 GMON querying group 2 at 83 for pid 27, osid 15781 NOTE: cache opening disk 0 of grp 2: DATA_0000 path: /dev/oracleasm/disks/DATA01 NOTE: F1X0 found on disk 0 au 2 fcn 0.127835487 NOTE: cache opening disk 1 of grp 2: DATA_0001 path: /dev/oracleasm/disks/DATA02 NOTE: cache opening disk 2 of grp 2: DATA_0002 path: /dev/oracleasm/disks/DATA03 NOTE: cache opening disk 3 of grp 2: DATA_0003 path: /dev/oracleasm/disks/DATA04 NOTE: cache opening disk 4 of grp 2: DATA_0004 path: /dev/oracleasm/disks/DATA05 NOTE: cache opening disk 5 of grp 2: DATA_0005 path: /dev/oracleasm/disks/DATA06 NOTE: cache opening disk 6 of grp 2: DATA_0006 path: /dev/oracleasm/disks/DATA07 NOTE: cache opening disk 8 of grp 2: DATA_0008 path: /dev/oracleasm/disks/DATA101 NOTE: cache opening disk 9 of grp 2: DATA_0009 path: /dev/oracleasm/disks/DATA201 NOTE: cache opening disk 10 of grp 2: DATA_0010 path: /dev/oracleasm/disks/DATA202 NOTE: cache opening disk 11 of grp 2: DATA_0011 path: /dev/oracleasm/disks/DATA203 NOTE: cache opening disk 12 of grp 2: DATA_0012 path: /dev/oracleasm/disks/DATA204 NOTE: cache opening disk 13 of grp 2: DATA_0013 path: /dev/oracleasm/disks/DATA205 NOTE: cache opening disk 14 of grp 2: DATA_0014 path: /dev/oracleasm/disks/DATA206 NOTE: cache opening disk 15 of grp 2: DATA_0015 path: /dev/oracleasm/disks/DATA207 NOTE: cache opening disk 16 of grp 2: DATA_0016 path: /dev/oracleasm/disks/DATA208 NOTE: cache mounting (first) external redundancy group 2 /0x73BEC220 (DATA) Tue Nov 26 11:48:22 2024 * allocate domain 2, invalid = TRUE kjbdomatt send to inst 2 Tue Nov 26 11:48:22 2024 NOTE: attached to recovery domain 2 NOTE: starting recovery of thread=1 ckpt=716.1536 group=2 (DATA) NOTE: starting recovery of thread=2 ckpt=763.6248 group=2 (DATA) NOTE: recovery initiating offline of disk 8 group 2 (*) NOTE: cache initiating offline of disk 8 group DATA NOTE: process _user15781_+asm1 (15781) initiating offline of disk 8.3911069996 (DATA_0008) with mask 0x7e in group 2 NOTE: initiating PST update: grp = 2, dsk = 8 /0xe91e312c , mask = 0x6a, op = clear GMON updating disk modes for group 2 at 84 for pid 27, osid 15781 ERROR: Disk 8 cannot be offlined, since diskgroup has external redundancy. ERROR: too many offline disks in PST (grp 2) WARNING: Offline for disk DATA_0008 in mode 0x7f failed. Tue Nov 26 11:48:23 2024 NOTE: halting all I /Os to diskgroup 2 (DATA) NOTE: recovery (pass 2) of diskgroup 2 (DATA) caught error ORA-15130 Errors in file /u01/app/grid/diag/asm/ +asm/+ASM1 /trace/ +ASM1_ora_15781.trc: ORA-15130: diskgroup "DATA" is being dismounted ORA-15066: offlining disk "DATA_0008" in group "DATA" may result in a data loss ORA-15131: block 97 of file 8 in diskgroup 2 could not be read ORA-15196: invalid ASM block header [kfc.c:7600] [endian_kfbh] [2147483656] [97] [0 != 1] |
由于客户执行了oracleasm deletedisk,根据经验确认该操作是对asm磁盘头的前1M数据进行了清空,而客户这个asm刚好是drop disk触发了rebalance操作的时候干掉磁盘的,基于这样的情况,直接通过修复磁盘1M数据并且mount磁盘组继续使用该磁盘组的概率不大.因此处理建议:
1. 直接恢复出来该磁盘组数据然后打开该库
2. 直接提取客户需要的核心表数据
有过客户有类似操作是asmlib重新创建了磁盘信息恢复:分享oracleasm createdisk重新创建asm disk后数据0丢失恢复案例
删除分区信息之后数据库恢复案例:删除分区 oracle asm disk 恢复
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2023-12-07 ORA-600 kcbzib_kcrsds_1一键恢复