首页 > 数据库 > Oracle > 直接修改ASM disk大小导致ORA-15036
ASM disk group mount fails with ORA-15036: diskis truncated [ID 1077175.1] Version 10.2.0.1 to 11.2.0.1 症状: 加载磁盘组时遭遇如下错误 ORA-15032: not all alterations performed ORA-15036: disk 'ORCL:DATA10' is truncated ORA-15036: disk 'ORCL:DATA09' is truncated 此为在OS直接resize磁盘组,导致实际大小与metadata记录不符所致 大致思路 查看metadata记录和磁盘实际大小,通过kfed修改metadata; 步骤 确认导致问题的磁盘信息 ls -l /dev/oracleasm/disks/* brw-rw---- 1 oracle dba 8, 161 Mar 14 11:25 DATA09 brw-rw---- 1 oracle dba 8, 177 Mar 14 11:25 DATA10 检查其磁盘组metadata $ kfed read /dev/oracleasm/disks/DATA09 | egrep "dskname|dsksize" kfdhdb.dskname: DATA09 ; 0x028: length=6 kfdhdb.dsksize: 65530 ; 0x0c4: 0x0000fffa $ kfed read /dev/oracleasm/disks/DATA10 | egrep "dskname|dsksize" kfdhdb.dskname: DATA10 ; 0x028: length=6 kfdhdb.dsksize: 65530 ; 0x0c4: 0x0000fffa 确认其记录大小为65530M 检查磁盘实际大小 通过major/minor id获取磁盘名 # ls -l /dev/sd* | egrep "8, 161|8, 177" brw-rw---- 1 root disk 8, 161 Mar 14 11:25 sdk1 brw-rw---- 1 root disk 8, 177 Mar 14 11:25 sdl1 通过fdisk检查其大小,为61530M # fdisk -l /dev/sdk Disk /dev/sdk: 68.7 GB, 68719476736 bytes 255 heads, 63 sectors/track, 8354 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdk1 1 7844 63006898+ 83 Linux # fdisk -l /dev/sdl Disk /dev/sdl: 68.7 GB, 68719476736 bytes 255 heads, 63 sectors/track, 8354 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdl1 1 7844 63006898+ 83 Linux 修改磁盘组metadata $ kfed read /dev/oracleasm/disks/DATA09 > /tmp/DATA09_header.kfed 将kfdhdb.dsksize: 65530 ; 0x0c4: 0x0000fffa 修改为 kfdhdb.dsksize: 61530 ; 0x0c4: 0x0000f05a 更新磁盘组 $ kfed merge /dev/oracleasm/disks/DATA09 text=/tmp/DATA09_header.kfed 加载磁盘组并resize SQL> alter diskgroup DG1 resize disk DATA09 size 61530 M; SQL> alter diskgroup DG1 resize disk DATA10 size 61530 M;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15480802/viewspace-761277/ ,如需转载,请注明出处,否则将追究法律责任。