如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]
Oracle服务器– 标准版– 版本:10.2.0.3和更高版本 [发布:10.2和更高版本]
本文档中的信息适用于任何平台。
症状
试图启动ASM实例时收到以下错误 :
ORA-15032: 并没有完成所有改动
ORA-15036:磁盘 ‘<disk_name>’ 被截断
原因
在这篇文章中,当操作系统报告的盘的尺寸比记录在盘头块的盘小时,有以下可能性 :
– 该装置的大小(列的尺寸)在操作系统层面改变。
– 如果您有双启动机器(或机器访问磁盘可以同时在2个节点共享、访问,但单独使用),那么如果两台机器(或操作系统,在双启动的情况下)有一个磁盘组,使用不同的磁盘但有同样的磁盘组名称,你就会遇到这个问题。
– ASM标头的值被损坏。
该说明仅适用于在上述最后一种情况,没有Oracle Support允许,不要在其他情况下使用,否则会丢失你的数据。
解决方案
1. 获取kfed输出:
kfed read /dev/rdsk/asm/cs0
Then, you can check the following values:
kfhdb.ausize ==> Size of Allocation Units in bytes (generally 1048576 => 1 Mb)
kfhdb.dsksize ==> disk size in Allocation Units
So kfhdb.ausize * kfhdb.dsksize = Disk size in bytes
2. 现在从操作系统的角度比较磁盘的值。
如果你看到ASM值很不同,难以理解,这意味着ASM头有损坏。否则,便意味着在操作系统层面有变化,这使得操作系统的尺寸,比该设备被添加到ASM磁盘组时小。
3. 这种情况下,就可以在操作系统层面将其更改回来,否则就必须重新创建磁盘组或出错组。
如果你没有安装ffed,那就如下所示进行构建:
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk ikfed
注意!!!,请不要尝试使用kfed,除非ORACLE Support 要求,否则将损害您的磁盘(S)!
Leave a Reply