0

0

12TB ASM RAC磁盘无法mount的案例

php中文网

php中文网

发布时间:2016-06-07 16:38:02

|

1767人浏览过

|

来源于php中文网

原创

本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger 的Oracle技术博客 本文链接地址: 12TB ASM RAC磁盘无法mount的案例 网友发的信息,从alert log来看,在手工mount diskgroup的时候报错如下: Thu Aug 28 10:34:29 2014WARNING: cac

本站文章除注明转载外,均为本站原创: 转载自love wife & love life —roger 的oracle技术博客

本文链接地址: 12TB ASM RAC磁盘无法mount的案例

网友发的信息,从alert log来看,在手工mount diskgroup的时候报错如下:

Thu Aug 28 10:34:29 2014
WARNING: cache read a corrupted block gn=3 fn=1 blk=263 from disk 1
NOTE: a corrupted block was dumped to /oracle/diag/asm/+asm/+ASM/trace/+ASM_ora_17918.trc
ERROR: cache failed to read gn=3 fn=1  blk=263 from disk(s): 1
ORA-15196: invalid ASM block header [kfc.c:9133] [obj_kfbl] [1] [263] [3 != 1]
System State dumped to trace file /oracle/diag/asm/+asm/+ASM/trace/+ASM_ora_17918.trc
NOTE: cache initiating offline of disk 1  group 3
WARNING: initiating offline of disk 1.4042510639 (DATA_DG_0001) with mask 0x7e 
NOTE: initiating PST update: grp = 3, dsk = 1, mode = 0x15

对于这个错误,是非常常见的了。Oracle MOS也有不少的文档进行描述,本质上其实就是ASM元数据存在异常了。对于Oracle ASM的元数据,我写了一系列的文章,供参考。需要注意的是,有些元数据如果损坏,那么我们可以很容易修复,比如disk header,Disk directory,PST等等。其他的出现问题了,就比较麻烦了。 我们这里简单描述下这个ORA-15196错误的含义:
ORA-15196: invalid ASM block header [1st] [2nd] [3rd] [4th] [5th != 6th]

Argument Meaning 
1st   Function and line number in the code, where the exception is raised  
2nd  Field failing the validation 
3rd   ASM object number stored in the block 
4th   ASM block number stored in the block  
5th   Value associated with field referenced by argument 2  
6th   Expected value for field referenced by argument 2

根据Oracle MOS 文档的解释,我们这里的这个错误,可以理解为这样一个意思:

Oracle 在执行kfc.c代码的9133行时报错。校验时发现obj_kfbk异常。ASM 对象号为1,存在的block号为263. 发现该block内的值应该是1,而不是3.

这里补充一点,对于asm object,为1标示file directory。这里大家可以参考我之前的一个例子:

SQL> select number_kffxp file#, disk_kffxp disk#, count(disk_kffxp) extents
  2  from x$kffxp
  3  where group_kffxp=1
  4        and disk_kffxp <> 65534
  5  group by number_kffxp, disk_kffxp
  6  order by 1;
?
     FILE#      DISK#    EXTENTS
---------- ---------- ----------
         1          0          2
         2          1          1
         3          0         21
         3          1         21
         4          0          1
         4          1          1
         5          0          1
         6          0          1
       256          0        241
       256          1        241
       257          0        120
   .........
       263          0         28
       263          1         28
       264          0         11
       264          1         10
       265          1          1
?
27 rows selected.

上述查询的file信息,其实就的10g版本中asm所涉及的元数据信息,对应关系如下:

知元AI
知元AI

AI智能语音聊天 对讲问答 AI绘画 AI写作 AI创作助手工具

下载
file#   1   ---ASM file 1,file directory
file#   2   ---ASM file 2,disk directory
file#   3   ---ASM file 3,active Change Directory(ACD)
file#   4   ---ASM file 4,continuing Operations Directory (COD)
file#   5   ---ASM file 5,template directory
file#   6   ---ASM file 6,alias directory

所以,根据目前了解的信息来看,这里本质上是file directory出现问题了。如果想进一步了解,我们可以分析alert log中提到的trace文件,下面来简单看看,我们搜索关键字来看下比较重要的一段信息:

*** ACTION NAME:() 2014-08-28 10:34:29.920
?
WARNING: cache read a corrupted block gn=3 fn=1 blk=263 from disk 1
?
*** 2014-08-28 10:34:29.943
OSM metadata block dump:
kfbh.endian:                          0 ; 0x000: 0x00
kfbh.hard:                          130 ; 0x001: 0x82
kfbh.type:                            8 ; 0x002: KFBTYP_CHNGDIR
kfbh.datfmt:                          1 ; 0x003: 0x01
kfbh.block.blk:                    1607 ; 0x004: T=0 NUMB=0x647
kfbh.block.obj:                       3 ; 0x008: TYPE=0x0 NUMB=0x3
kfbh.check:                   152962911 ; 0x00c: 0x091e075f
kfbh.fcn.base:                 49018345 ; 0x010: 0x02ebf5e9
kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000
kfbh.spare1:                          0 ; 0x018: 0x00000000
kfbh.spare2:                          0 ; 0x01c: 0x00000000
kfracdb.aba.seq:                   1722 ; 0x000: 0x000006ba
kfracdb.aba.blk:                   1606 ; 0x004: 0x00000646
kfracdb.ents:                        21 ; 0x008: 0x0015
kfracdb.ub2spare:                     0 ; 0x00a: 0x0000
。。。。。。
ERROR: cache failed to read gn=3 fn=1  blk=263 from disk(s): 1
  CE: (0x380bd96f8)  group=3 (DATA_DG) obj=1  blk=263
      hashFlags=0x0008  lid=0x0002  lruFlags=0x0000  bastCount=1
      redundancy=0x11  fileExtent=1  locator:  obj=1  blk=1
      blockIndex=7 AUindex=0 AUcount=1 mirror=0
      flags_kfcpba=0x09 copies=1 blockIndex=7 AUindex=0 AUcount=1
      copy #0:  disk=1  au=25
  BH: (0x380fb8ed0)  bnum=2635 type=reading state=reading chgSt=not modifying
      flags=0x00000000  pinmode=excl  lockmode=excl  bf=0x380f2e000
      kfbh_kfcbh.fcn_kfbh = 0.49018345  lowAba=1716.2941  highAba=0.0
      last kfcbInitSlot return code=null cpkt lnk is null ralFlags=0x00000000

这里正是我们报错提到的fn=1 blk=263 。这里的au 25其实是有问题的,可惜这里我忘记保留当时的kfed的记录了。很明显这里kfbh.block.obj的值,Oracle认为应该是1,因为这是file directory的信息,但是上面的type显示又是KFBTYP_CHNGDIR,这显然是不匹配的。

对于这样的case,通常是只能利用DUL或ODU等软件来文件级别的抽取。少数情况下,可以利用Oracle patch asm的脚本进行元数据的修复。

备注:11g开始,Oracle的asmcmd就提供了备份asm元数据的命令,对于一些不稳定的版本,真是强烈建议定期备份一下啊。。。

Related posts:

  1. Where is the backup of ASM disk header block? –补充
  2. oracle asm 剖析系列(5)–alias directory
  3. oracle asm剖析系列(7)–Active Change Directory
  4. oracle asm剖析系列(8)–Continuing Operations Directory
  5. 1.4TB ASM(RAC) 磁盘损坏恢复小记
12TB ASM RAC磁盘无法mount的案例 本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger 的Oracle技术博客 本文链接地址: 12TB ASM RAC磁盘无法mount的案例 网友发的信息,从alert log来看,在手工mount diskgroup的时候报错如下: Thu Aug 28 10:34:29 2014 WARNING: cache read a corrupted block gn=3 fn=1 blk=263 from disk 1 NOTE: a corrupted block was dumped to /oracle/diag/asm/+asm/+ASM/trace/+ASM_ora_17918.trc ERROR: cache failed to read gn=3 fn=1 blk=263 from disk(s): 1 ORA-15196: invalid ASM block [...]12TB ASM RAC磁盘无法mount的案例

相关专题

更多
Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

11

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

4

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

16

2026.01.21

Python多线程合集
Python多线程合集

本专题整合了Python多线程相关教程,阅读专题下面的文章了解更多详细内容。

1

2026.01.21

java多线程相关教程合集
java多线程相关教程合集

本专题整合了java多线程相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.21

windows激活码分享 windows一键激活教程指南
windows激活码分享 windows一键激活教程指南

Windows 10/11一键激活可以通过PowerShell脚本或KMS工具实现永久或长期激活。最推荐的简便方法是打开PowerShell(管理员),运行 irm https://get.activated.win | iex 脚本,按提示选择数字激活(选项1)。其他方法包括使用HEU KMS Activator工具进行智能激活。

2

2026.01.21

excel表格操作技巧大全 表格制作excel教程
excel表格操作技巧大全 表格制作excel教程

Excel表格操作的核心技巧在于 熟练使用快捷键、数据处理函数及视图工具,如Ctrl+C/V(复制粘贴)、Alt+=(自动求和)、条件格式、数据验证及数据透视表。掌握这些可大幅提升数据分析与办公效率,实现快速录入、查找、筛选和汇总。

6

2026.01.21

毒蘑菇显卡测试网站入口 毒蘑菇测试官网volumeshader_bm
毒蘑菇显卡测试网站入口 毒蘑菇测试官网volumeshader_bm

毒蘑菇VOLUMESHADER_BM测试网站网址为https://toolwa.com/vsbm/,该平台基于WebGL技术通过渲染高复杂度三维分形图形评估设备图形处理能力,用户可通过拖动彩色物体观察画面流畅度判断GPU与CPU协同性能;测试兼容多种设备,但中低端手机易卡顿或崩溃,高端机型可能因发热降频影响表现,桌面端需启用独立显卡并使用支持WebGL的主流浏览器以确保准确结果

25

2026.01.21

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

7

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
TypeScript 教程
TypeScript 教程

共19课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号