Oracle 由于ORA-15040 ORA-15042,用长的ASMLib标签安装磁盘组时出错

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:service@parnassusdata.com

 

Oracle数据库企业版– 10.2.0.1版本和更高版本

Linux x86-64

***201348日检测相关性***

***20141010日检测相关性***

症状

磁盘组被安装,你能看到以下错误:

alter diskgroup DATA01 mount;

ORA-15032: not all alterations performed
ORA-15040: diskgroup is incomplete
ORA-15042: ASM disk “32” is missing
ORA-15042: ASM disk “31” is missing
ORA-15040: diskgroup is incomplete

原因

创建ASMLib设备时,ORCLDISK串成为标签名前缀,物理磁盘头将其保存。你已经使用了ASMLib标签名,超过24。磁盘头可容纳最多32个字符。

kfed output on Disk header shows the data:

kfdhdb.driver.provstr:ORCLDISKP300GB_15K_R10_RG3_DISK1 ; 0x000: length=32

kfdhdb.dskname:P300GB_15K_R10_RG3_DISK10 ; 0x028: length=25

观察家认为“driver.private”数据已被截断为32个字符。

且磁盘名和provstr之间有差异:

ORCLDISKP300GB_15K_R10_RG3_DISK1
P300GB_15K_R10_RG3_DISK10

解决方案

改进请求(未公开的Bug 8303425)讨论了这个问题。

1]如果创建新的ASMLib设备,标签名不超过24个字符。

2] 看到ORA-15040ORA-15042时,你可以做如下操作:

在所有节点上关闭ASM实例

在受影响的磁盘组上,提取50 MB所有磁盘的“DD”备份

# dd if=/dev/emcpoweral1 of=/tmp/al1.50m.dd bs=1024 count=51200
::::::::::::::::

IMPORTANT: This is a must safety measure, in case anything happens in the next step, we can go back to the original state. Also it is recommended that you open an SR with Oracle GCS.

  • 使用 force-renamedisk 命令来更改“driver.probate”值,并提供一个标签长度<=24,对所有受影响的磁盘都需要该操作。

# /etc/init.d/oracleasm force-renamedisk /dev/emcpoweral1 P300R10RG2D13
:::::::::::::::::::::

在所有节点上运行scandisks 命令。

# /etc/init.d/oracleasm scandisks

  • 检查磁盘在所有节点上可见,且有新标签

 # /etc/init.d/oracleasm listdisks

  • 安装磁盘组

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号