SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
ORA-15196 ORACLE ASM 问题详解
一般当 ASM 元数据块(metadata block)被检验存在严重问题时才会触发本文所介绍的
ORA-15196 错误。
该 ORA-15196 报错的一般格式是:
ORA-15196: invalid ASM block header [1st] [2nd] [3rd] [4th] [5th != 6th]
相关的变量的含义为:
1st, 触发该意外报错的 Oracle 内核函数的名字以及其在代码中的行数
2nd, 验证发现问题的区域名字
3rd , 存放在该块中的 ASM 对象号 http://www.parnassusdata.com/
4th,存放在该块中的 ASM 的块号
5th, 2nd 指定的区域中实际存放的值
6th, 2nd 指定的区域中应当存放的值 诗檀软件专业修复 Oracle 数据库
例如:
ORA-15196: invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0]
其中 kfc.c:7997,说明触发本次 ORA-15196 错误的代码是 kfc.c 内核源代码的 7997 行的代码
endian_kfbh :验证发现问题的区域名字, 这个 endian_kfbh 是用来描述 endian 属性的
存放在该块中的 ASM 对象号:1
存放在该块中的 ASM 的块号:93
2nd 指定的区域中实际存放的值:211
2nd 指定的区域中应当存放的值:0
进一步解析上面的参数
 验证发现问题的区域名字
ASM metadata 元数据由多种多样的结构组成,例如 FILE directory 文件目录,Disk
Directory 磁盘目录,Active Change Directory(ACDC),这些信息都存放在 ASM 的
第 1 号文件到第 255 文件之间。每一个文件又由 ASM Extent 组成,Extent 又由大小为
4096 bytes 的 ASM block 组成(仅仅对于 Metadata File 是这样的,对于 Oracle Datafile
数据文件则仍是由 DB_BLOCK_SIZE 大小的数据块组成)。这里每一个 ASM BLOCK
均有一个必备的块头 KFBH,如下面的例子:
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 4 ; 0x002: KFBTYP_FILEDIR
kfbh.datfmt: 1 ; 0x003: 0x01
kfbh.block.blk: 1 ; 0x004: blk=1
kfbh.block.obj: 1 ; 0x008: file=1
kfbh.check: 325804796 ; 0x00c: 0x136b62fc
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
KFBH 说到底是一个 C 语言头文件中定义的 Structure,其定义大致如下:
endian_kfbh /* endianness of writer */
hard_kfbh /* H.A.R.D. magic # and block size */
type_kfbh /* metadata block type */
datfmt_kfbh /* metadata block data format */
block_kfbh /* block location of this block */
check_kfbh /* check value to verify consistency */
fcn_kfbh /* change number of last change */
spare1_kfbh /* zero pad out to 32 bytes */
spare2_kfbh /* zero pad out to 32 bytes */
以上的每一个区域实际均可能是 “验证发现问题的区域”,例如:
ORA-15196: invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0]
ORA-15196 INVALID ASM BLOCK HEADER [KFC.C 8064] [CHECK_KFBH]
[2147483827] [2]
 存放在 ASM Block 中的 ASM 对象号 object_number
这里每一个 ASM metadata block 都对应于特定的 ASM 结构元文件。kfbh.block.obj 即块
头 的 对 象 号 信 息 , 实 际 也 是 ASM 的 文 件 号 。 例 如 下 面 的 例 子 即 是 1 号 文 件
KFBTYP_FILEDIR File Directory
[oracle@mlab2 ~]$ kfed read /oracleasm/asm-disk01 aun=2 blkn=1 aus=4194304|less
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 4 ; 0x002: KFBTYP_FILEDIR
kfbh.datfmt: 1 ; 0x003: 0x01
kfbh.block.blk: 1 ; 0x004: blk=1
kfbh.block.obj: 1 ; 0x008: file=1
kfbh.check: 325804796 ; 0x00c: 0x136b62fc
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
ASM File number: ASM Metadata: kfbh.type 的对应关系
ASM File number ASM Metadata kfbh.type
1 File Directory KFBTYP_FILEDIR
2 Disk Directory KFBTYP_DISKDIR
3 Active Change Directory (ACD) KFBTYP_CHNGDIR
4 Continous Operations Directory
(COD)
KFBTYP_COD_DATA
5 Template Directory KFBTYP_TMPLTDIR
6 Alias Directory KFBTYP_ALIASDIR
9 Attributes Directory KFBTYP_ATTRDIR
12 Staleness Directory KFBTYP_STALEDIR
对于其他的 metadata 结构如 PST、KFBTYP_DISKHEAD 等其 kfbh.block.obj 总是
2147483648,即 16 进制 0x 80000000,如:
[oracle@mlab2 ~]$ kfed read /oracleasm/asm-disk01 aun=0 blkn=0 aus=4194304|less
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD
kfbh.datfmt: 1 ; 0x003: 0x01
kfbh.block.blk: 0 ; 0x004: blk=0
kfbh.block.obj: 2147483648 ; 0x008: disk=0
kfbh.check: 852050979 ; 0x00c: 0x32c94423
kfbh.fcn.base: 106569 ; 0x010: 0x0001a049
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
 存放在 ASM block 中的块号 block number
一个 ASM File 往往由多个 Extent 组成,一个 Extent 可以是一个 Allocation Unit,也可以
使多个 allocation Units(Variable Extent Size)。一个 Extent 又由多个 ASM metadata block
(一般为 4096 bytes 大小)组成。默认 1MB AU 下,一个 extent 对应 256 个 ASM metadata
block。
kfbh.block.blk 代表某个文件中的块号。例如 kfbh.block.blk=93,那么一般存放在某个文件
的第一个 extent 里。而这个 extent 可以由 Disk group 上任意 ASM disk 上的任意 AU 组成。
 2nd 指定的区域中实际存放的值
即第二个变量中现在实际存放的数值
 2nd 指定的区域中应当存放的值
即第二个变量中理论上应当存放的数值
我们来看一个例子:
ORA-15196: invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0]
可以解释为 1 号文件的 93 块 中的 endian_kfbh 区域在 kfc.c 的 7997 代码做检测时发现,
其实际存放的值为 211,而实际上 endian_kfbh 一般只有 2 个值 0x01 或者 0x00,0x01 代
表 Little Endian,0x00 代表 Big Endian。 211 这个实际存放值是非法的,说明这个重要的
1 号文件的 93 号块出现了损坏。
ORA-15196 相关的一些 BUG Note 如下:
Bug 14545129 - ORA-15196_ INVALID ASM BLOCK HEADER [KXDAM
Bug 14740185 - ASM REPORTED CORRUPTED AT BLOCKS _ ORA-15196_ INVALID
ASM BLOCK HEADER [KFC
Bug 5554692 - Error ORA-15196 reporting ASM block header invalid ora-15196 after
ORA-.pdf
ORA-15196 and ORA-600 [kfgpn lclenq] Resizing Datafile or Dropping User (Doc ID
759379.1)
ORA-15196 WITH ASM DISKS LARGER THAN 2TB (Doc ID 736891.1)
Querying V$ASM_FILE Gives ORA-15196 After ASM Was Upgraded From 10gR2 To
11gR2 with an AU size 1M (Doc ID 1145365.1)
Bug 11801536 ORA-15196 INVALID ASM BLOCK HEADER [KFC.C 8064]
[CHECK_KFBH] [2147483827]
Bug 13605059 - ORA-15196_ INVALID ASM BLOCK HEADER [KFC
但主要引起 ORA-15196 错误的原因并不是 ORACLE 自身的 BUG,而是 ORACLE 之外的
一些因素:
1. ASM 使用的磁盘被从 OS 级别做了某种格式化,或者头部被覆盖,例如 AIX 下 chdev
设置了 pv 头
2. ASM 使用的磁盘被分配为文件系统,这个一般是误操作导致的,例如 SA 系统管理员
看到一块 ASM 磁盘被有被操作系统使用,就认为这是浪费,而在上面 mkfs
3. 由于 IO 链路或者存储故障,如丢失写等
4. 由于第三方应用引起
 建议收集的数据
对于该 ORA-15196 诗檀建议收集如下的数据:
Oracle 告警日志 alert.log 和相关的 trace 文件
发生问题的 ASM Disk 的前 300MB 数据的 DD
首先通过 alert.log 的内容确定损坏发生的 ASM Disk 号:
WARNING: cache failed to read fn=1 blk=80 from disk(s): 0
ORA-15196: invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0]
这里 disk(s):0,指 DISK_NUMBER=0 的 ASM DISK,之后通过 dd 命令复制 300MB 数据:
$dd if=<device path> of=/tmp/disk.dd bs= 1048576 count=300
如果自己搞不定可以找诗檀软件专业 ORACLE 数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 400-690-3643
备用电话: 18501767907
邮箱:service@parnassusdata.com
ParnassusData Corporation , Shanghai , GaoPing Road
No. 733 . China
Phone: (+86) 400-690-3643
ParnassusData.com
Facebook: http://www.facebook.com/parnassusData
Twitter: http://twitter.com/ParnassusData
Weibo: http://weibo.com/parnassusdata
Copyright © 2014 ParnassusData Corporation. All Rights
Reserved.

Contenu connexe

En vedette

20151017八戸学院大学かいごの学校資料(ビーブリッド竹下)
20151017八戸学院大学かいごの学校資料(ビーブリッド竹下)20151017八戸学院大学かいごの学校資料(ビーブリッド竹下)
20151017八戸学院大学かいごの学校資料(ビーブリッド竹下)Takeshita Kouhei
 
Building_brands_How_can_I_help_you
Building_brands_How_can_I_help_youBuilding_brands_How_can_I_help_you
Building_brands_How_can_I_help_youMolly Aaker
 
Understanding the wealth-creating potential of relationships :: Kredible.net ...
Understanding the wealth-creating potential of relationships :: Kredible.net ...Understanding the wealth-creating potential of relationships :: Kredible.net ...
Understanding the wealth-creating potential of relationships :: Kredible.net ...Jukka Huhtamäki
 
New Zealand Franchising Confidence Index | October 2011
New Zealand Franchising Confidence Index | October 2011New Zealand Franchising Confidence Index | October 2011
New Zealand Franchising Confidence Index | October 2011Franchize Consultants
 
Apps4Pirkanmaa 2014: Miten toteutan informaation visualisoinnin?
Apps4Pirkanmaa 2014: Miten toteutan informaation visualisoinnin? Apps4Pirkanmaa 2014: Miten toteutan informaation visualisoinnin?
Apps4Pirkanmaa 2014: Miten toteutan informaation visualisoinnin? Jukka Huhtamäki
 
Vie Politique : Marine le Pen
Vie Politique : Marine le PenVie Politique : Marine le Pen
Vie Politique : Marine le PenKantar
 
Forward Progress Energy Field
Forward Progress Energy FieldForward Progress Energy Field
Forward Progress Energy FieldMario Pinardo
 
Gaelic Football
Gaelic FootballGaelic Football
Gaelic FootballShane Kerr
 
Miten toteutan informaation visualisoinnin?
Miten toteutan informaation visualisoinnin?Miten toteutan informaation visualisoinnin?
Miten toteutan informaation visualisoinnin?Jukka Huhtamäki
 
Permendikbud no-104-tahun-2014
Permendikbud no-104-tahun-2014Permendikbud no-104-tahun-2014
Permendikbud no-104-tahun-2014Irma Muthiara Sari
 
20161226西日本国際福祉機器展
20161226西日本国際福祉機器展20161226西日本国際福祉機器展
20161226西日本国際福祉機器展Takeshita Kouhei
 
TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例maclean liu
 
Primaires de la droite et du centre : Suivi sur twitter
Primaires de la droite et du centre : Suivi sur twitterPrimaires de la droite et du centre : Suivi sur twitter
Primaires de la droite et du centre : Suivi sur twitterKantar
 

En vedette (16)

20151017八戸学院大学かいごの学校資料(ビーブリッド竹下)
20151017八戸学院大学かいごの学校資料(ビーブリッド竹下)20151017八戸学院大学かいごの学校資料(ビーブリッド竹下)
20151017八戸学院大学かいごの学校資料(ビーブリッド竹下)
 
Building_brands_How_can_I_help_you
Building_brands_How_can_I_help_youBuilding_brands_How_can_I_help_you
Building_brands_How_can_I_help_you
 
Understanding the wealth-creating potential of relationships :: Kredible.net ...
Understanding the wealth-creating potential of relationships :: Kredible.net ...Understanding the wealth-creating potential of relationships :: Kredible.net ...
Understanding the wealth-creating potential of relationships :: Kredible.net ...
 
New Zealand Franchising Confidence Index | October 2011
New Zealand Franchising Confidence Index | October 2011New Zealand Franchising Confidence Index | October 2011
New Zealand Franchising Confidence Index | October 2011
 
Oe3 ac1
Oe3 ac1Oe3 ac1
Oe3 ac1
 
Apps4Pirkanmaa 2014: Miten toteutan informaation visualisoinnin?
Apps4Pirkanmaa 2014: Miten toteutan informaation visualisoinnin? Apps4Pirkanmaa 2014: Miten toteutan informaation visualisoinnin?
Apps4Pirkanmaa 2014: Miten toteutan informaation visualisoinnin?
 
Vie Politique : Marine le Pen
Vie Politique : Marine le PenVie Politique : Marine le Pen
Vie Politique : Marine le Pen
 
Forward Progress Energy Field
Forward Progress Energy FieldForward Progress Energy Field
Forward Progress Energy Field
 
Gaelic Football
Gaelic FootballGaelic Football
Gaelic Football
 
Components
ComponentsComponents
Components
 
Miten toteutan informaation visualisoinnin?
Miten toteutan informaation visualisoinnin?Miten toteutan informaation visualisoinnin?
Miten toteutan informaation visualisoinnin?
 
Permendikbud no-104-tahun-2014
Permendikbud no-104-tahun-2014Permendikbud no-104-tahun-2014
Permendikbud no-104-tahun-2014
 
20161226西日本国際福祉機器展
20161226西日本国際福祉機器展20161226西日本国際福祉機器展
20161226西日本国際福祉機器展
 
TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例TomCat迁移步骤简述以及案例
TomCat迁移步骤简述以及案例
 
Valentine 2012
Valentine 2012Valentine 2012
Valentine 2012
 
Primaires de la droite et du centre : Suivi sur twitter
Primaires de la droite et du centre : Suivi sur twitterPrimaires de la droite et du centre : Suivi sur twitter
Primaires de la droite et du centre : Suivi sur twitter
 

Plus de maclean liu

Mysql企业备份发展及实践
Mysql企业备份发展及实践Mysql企业备份发展及实践
Mysql企业备份发展及实践maclean liu
 
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアルOracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアルmaclean liu
 
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略maclean liu
 
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案maclean liu
 
PRM DUL Oracle Database Health Check
PRM DUL Oracle Database Health CheckPRM DUL Oracle Database Health Check
PRM DUL Oracle Database Health Checkmaclean liu
 
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案maclean liu
 
Vbox virtual box在oracle linux 5 - shoug 梁洪响
Vbox virtual box在oracle linux 5 - shoug 梁洪响Vbox virtual box在oracle linux 5 - shoug 梁洪响
Vbox virtual box在oracle linux 5 - shoug 梁洪响maclean liu
 
【诗檀软件】Mysql高可用方案
【诗檀软件】Mysql高可用方案【诗檀软件】Mysql高可用方案
【诗檀软件】Mysql高可用方案maclean liu
 
Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2maclean liu
 
Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2maclean liu
 
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1maclean liu
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 maclean liu
 
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wangOrclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wangmaclean liu
 
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24maclean liu
 
追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?maclean liu
 
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践maclean liu
 
Prm dul is an oracle database recovery tool database
Prm dul is an oracle database recovery tool   databasePrm dul is an oracle database recovery tool   database
Prm dul is an oracle database recovery tool databasemaclean liu
 
Oracle prm dul, jvm and os
Oracle prm dul, jvm and osOracle prm dul, jvm and os
Oracle prm dul, jvm and osmaclean liu
 
Oracle dba必备技能 使用os watcher工具监控系统性能负载
Oracle dba必备技能   使用os watcher工具监控系统性能负载Oracle dba必备技能   使用os watcher工具监控系统性能负载
Oracle dba必备技能 使用os watcher工具监控系统性能负载maclean liu
 
Parnassus data recovery manager for oracle database user guide v0.3
Parnassus data recovery manager for oracle database user guide v0.3Parnassus data recovery manager for oracle database user guide v0.3
Parnassus data recovery manager for oracle database user guide v0.3maclean liu
 

Plus de maclean liu (20)

Mysql企业备份发展及实践
Mysql企业备份发展及实践Mysql企业备份发展及实践
Mysql企业备份发展及实践
 
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアルOracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
Oracle専用データ復旧ソフトウェアprm dulユーザーズ・マニュアル
 
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
 
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
基于Oracle 12c data guard & far sync的低资源消耗两地三数据中心容灾方案
 
PRM DUL Oracle Database Health Check
PRM DUL Oracle Database Health CheckPRM DUL Oracle Database Health Check
PRM DUL Oracle Database Health Check
 
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
dbdao.com 汪伟华 my-sql-replication复制高可用配置方案
 
Vbox virtual box在oracle linux 5 - shoug 梁洪响
Vbox virtual box在oracle linux 5 - shoug 梁洪响Vbox virtual box在oracle linux 5 - shoug 梁洪响
Vbox virtual box在oracle linux 5 - shoug 梁洪响
 
【诗檀软件】Mysql高可用方案
【诗檀软件】Mysql高可用方案【诗檀软件】Mysql高可用方案
【诗檀软件】Mysql高可用方案
 
Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2Shoug at apouc2015 4min pitch_biotwang_v2
Shoug at apouc2015 4min pitch_biotwang_v2
 
Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2Apouc 4min pitch_biotwang_v2
Apouc 4min pitch_biotwang_v2
 
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
使用Oracle osw analyzer工具分析oswbb日志,并绘制系统性能走势图1
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础
 
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wangOrclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
Orclrecove 1 pd-prm-dul testing for oracle database recovery_20141030_biot_wang
 
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
诗檀软件 – Oracle数据库修复专家 oracle数据块损坏知识2014-10-24
 
追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?
 
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
使用Virtual box在oracle linux 5.7上安装oracle database 11g release 2 rac的最佳实践
 
Prm dul is an oracle database recovery tool database
Prm dul is an oracle database recovery tool   databasePrm dul is an oracle database recovery tool   database
Prm dul is an oracle database recovery tool database
 
Oracle prm dul, jvm and os
Oracle prm dul, jvm and osOracle prm dul, jvm and os
Oracle prm dul, jvm and os
 
Oracle dba必备技能 使用os watcher工具监控系统性能负载
Oracle dba必备技能   使用os watcher工具监控系统性能负载Oracle dba必备技能   使用os watcher工具监控系统性能负载
Oracle dba必备技能 使用os watcher工具监控系统性能负载
 
Parnassus data recovery manager for oracle database user guide v0.3
Parnassus data recovery manager for oracle database user guide v0.3Parnassus data recovery manager for oracle database user guide v0.3
Parnassus data recovery manager for oracle database user guide v0.3
 

Ora 15196 oracle asm问题详解

  • 1. ORA-15196 ORACLE ASM 问题详解 一般当 ASM 元数据块(metadata block)被检验存在严重问题时才会触发本文所介绍的 ORA-15196 错误。 该 ORA-15196 报错的一般格式是: ORA-15196: invalid ASM block header [1st] [2nd] [3rd] [4th] [5th != 6th] 相关的变量的含义为: 1st, 触发该意外报错的 Oracle 内核函数的名字以及其在代码中的行数 2nd, 验证发现问题的区域名字 3rd , 存放在该块中的 ASM 对象号 http://www.parnassusdata.com/ 4th,存放在该块中的 ASM 的块号 5th, 2nd 指定的区域中实际存放的值 6th, 2nd 指定的区域中应当存放的值 诗檀软件专业修复 Oracle 数据库 例如: ORA-15196: invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0] 其中 kfc.c:7997,说明触发本次 ORA-15196 错误的代码是 kfc.c 内核源代码的 7997 行的代码 endian_kfbh :验证发现问题的区域名字, 这个 endian_kfbh 是用来描述 endian 属性的 存放在该块中的 ASM 对象号:1 存放在该块中的 ASM 的块号:93 2nd 指定的区域中实际存放的值:211 2nd 指定的区域中应当存放的值:0 进一步解析上面的参数
  • 2.  验证发现问题的区域名字 ASM metadata 元数据由多种多样的结构组成,例如 FILE directory 文件目录,Disk Directory 磁盘目录,Active Change Directory(ACDC),这些信息都存放在 ASM 的 第 1 号文件到第 255 文件之间。每一个文件又由 ASM Extent 组成,Extent 又由大小为 4096 bytes 的 ASM block 组成(仅仅对于 Metadata File 是这样的,对于 Oracle Datafile 数据文件则仍是由 DB_BLOCK_SIZE 大小的数据块组成)。这里每一个 ASM BLOCK 均有一个必备的块头 KFBH,如下面的例子: kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 4 ; 0x002: KFBTYP_FILEDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 1 ; 0x004: blk=1 kfbh.block.obj: 1 ; 0x008: file=1 kfbh.check: 325804796 ; 0x00c: 0x136b62fc kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 KFBH 说到底是一个 C 语言头文件中定义的 Structure,其定义大致如下: endian_kfbh /* endianness of writer */ hard_kfbh /* H.A.R.D. magic # and block size */ type_kfbh /* metadata block type */ datfmt_kfbh /* metadata block data format */ block_kfbh /* block location of this block */ check_kfbh /* check value to verify consistency */ fcn_kfbh /* change number of last change */ spare1_kfbh /* zero pad out to 32 bytes */ spare2_kfbh /* zero pad out to 32 bytes */ 以上的每一个区域实际均可能是 “验证发现问题的区域”,例如: ORA-15196: invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0] ORA-15196 INVALID ASM BLOCK HEADER [KFC.C 8064] [CHECK_KFBH] [2147483827] [2]  存放在 ASM Block 中的 ASM 对象号 object_number 这里每一个 ASM metadata block 都对应于特定的 ASM 结构元文件。kfbh.block.obj 即块
  • 3. 头 的 对 象 号 信 息 , 实 际 也 是 ASM 的 文 件 号 。 例 如 下 面 的 例 子 即 是 1 号 文 件 KFBTYP_FILEDIR File Directory [oracle@mlab2 ~]$ kfed read /oracleasm/asm-disk01 aun=2 blkn=1 aus=4194304|less kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 4 ; 0x002: KFBTYP_FILEDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 1 ; 0x004: blk=1 kfbh.block.obj: 1 ; 0x008: file=1 kfbh.check: 325804796 ; 0x00c: 0x136b62fc kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 ASM File number: ASM Metadata: kfbh.type 的对应关系 ASM File number ASM Metadata kfbh.type 1 File Directory KFBTYP_FILEDIR 2 Disk Directory KFBTYP_DISKDIR 3 Active Change Directory (ACD) KFBTYP_CHNGDIR 4 Continous Operations Directory (COD) KFBTYP_COD_DATA 5 Template Directory KFBTYP_TMPLTDIR 6 Alias Directory KFBTYP_ALIASDIR 9 Attributes Directory KFBTYP_ATTRDIR 12 Staleness Directory KFBTYP_STALEDIR 对于其他的 metadata 结构如 PST、KFBTYP_DISKHEAD 等其 kfbh.block.obj 总是 2147483648,即 16 进制 0x 80000000,如: [oracle@mlab2 ~]$ kfed read /oracleasm/asm-disk01 aun=0 blkn=0 aus=4194304|less kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 2147483648 ; 0x008: disk=0 kfbh.check: 852050979 ; 0x00c: 0x32c94423 kfbh.fcn.base: 106569 ; 0x010: 0x0001a049 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
  • 4. kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000  存放在 ASM block 中的块号 block number 一个 ASM File 往往由多个 Extent 组成,一个 Extent 可以是一个 Allocation Unit,也可以 使多个 allocation Units(Variable Extent Size)。一个 Extent 又由多个 ASM metadata block (一般为 4096 bytes 大小)组成。默认 1MB AU 下,一个 extent 对应 256 个 ASM metadata block。 kfbh.block.blk 代表某个文件中的块号。例如 kfbh.block.blk=93,那么一般存放在某个文件 的第一个 extent 里。而这个 extent 可以由 Disk group 上任意 ASM disk 上的任意 AU 组成。  2nd 指定的区域中实际存放的值 即第二个变量中现在实际存放的数值  2nd 指定的区域中应当存放的值 即第二个变量中理论上应当存放的数值 我们来看一个例子: ORA-15196: invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0] 可以解释为 1 号文件的 93 块 中的 endian_kfbh 区域在 kfc.c 的 7997 代码做检测时发现, 其实际存放的值为 211,而实际上 endian_kfbh 一般只有 2 个值 0x01 或者 0x00,0x01 代 表 Little Endian,0x00 代表 Big Endian。 211 这个实际存放值是非法的,说明这个重要的 1 号文件的 93 号块出现了损坏。 ORA-15196 相关的一些 BUG Note 如下: Bug 14545129 - ORA-15196_ INVALID ASM BLOCK HEADER [KXDAM Bug 14740185 - ASM REPORTED CORRUPTED AT BLOCKS _ ORA-15196_ INVALID ASM BLOCK HEADER [KFC
  • 5. Bug 5554692 - Error ORA-15196 reporting ASM block header invalid ora-15196 after ORA-.pdf ORA-15196 and ORA-600 [kfgpn lclenq] Resizing Datafile or Dropping User (Doc ID 759379.1) ORA-15196 WITH ASM DISKS LARGER THAN 2TB (Doc ID 736891.1) Querying V$ASM_FILE Gives ORA-15196 After ASM Was Upgraded From 10gR2 To 11gR2 with an AU size 1M (Doc ID 1145365.1) Bug 11801536 ORA-15196 INVALID ASM BLOCK HEADER [KFC.C 8064] [CHECK_KFBH] [2147483827] Bug 13605059 - ORA-15196_ INVALID ASM BLOCK HEADER [KFC 但主要引起 ORA-15196 错误的原因并不是 ORACLE 自身的 BUG,而是 ORACLE 之外的 一些因素: 1. ASM 使用的磁盘被从 OS 级别做了某种格式化,或者头部被覆盖,例如 AIX 下 chdev 设置了 pv 头 2. ASM 使用的磁盘被分配为文件系统,这个一般是误操作导致的,例如 SA 系统管理员 看到一块 ASM 磁盘被有被操作系统使用,就认为这是浪费,而在上面 mkfs 3. 由于 IO 链路或者存储故障,如丢失写等 4. 由于第三方应用引起  建议收集的数据 对于该 ORA-15196 诗檀建议收集如下的数据: Oracle 告警日志 alert.log 和相关的 trace 文件 发生问题的 ASM Disk 的前 300MB 数据的 DD 首先通过 alert.log 的内容确定损坏发生的 ASM Disk 号: WARNING: cache failed to read fn=1 blk=80 from disk(s): 0 ORA-15196: invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0]
  • 6. 这里 disk(s):0,指 DISK_NUMBER=0 的 ASM DISK,之后通过 dd 命令复制 300MB 数据: $dd if=<device path> of=/tmp/disk.dd bs= 1048576 count=300 如果自己搞不定可以找诗檀软件专业 ORACLE 数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 400-690-3643 备用电话: 18501767907 邮箱:service@parnassusdata.com ParnassusData Corporation , Shanghai , GaoPing Road No. 733 . China Phone: (+86) 400-690-3643 ParnassusData.com Facebook: http://www.facebook.com/parnassusData Twitter: http://twitter.com/ParnassusData Weibo: http://weibo.com/parnassusdata Copyright © 2014 ParnassusData Corporation. All Rights Reserved.