帮前同事诊断一个ASM无法启动的问题。
数据库环境Oracle 10.2.0.3 RAC for Solaris 10 sparc64,由于操作系统故障,导致实例2主机无法启动,在尝试重做系统时发现实例1上的ASM无法正常启动。
详细错误信息为:
bash-3.00# su - oracle
Oracle Corporation SunOS 5.10 Generic Patch January 2005
bash-3.00$ export ORACLE_SID=+ASM1
bash-3.00$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Sun Jun 5 20:14:01 2011
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup
ORA-27125: unable to create shared memory segment
SVR4 Error: 14: Bad address
SQL> exit
Disconnected
这个ORA-27125的错误信息到是很常见,一般来说都是/etc/system中参数配置不合理导致SGA分配受到限制。
不过对于ASM实例而言,分配的SGA很有限,不应该出现这个错误,而且随后的SVR4 Error: 14: Bad address错误信息更是说明的错误并不一般。
打算通过ipcs检查当前是否已经存在共享内存段,结果发现了错误:
bash-3.00$ ipcs
IPC status from as of Sun Jun 5 20:14:43 CST 2011
Bad System Call (core dumped)
第一次运行出现Bad System Call (core dumped)错误,而再次运行还可能碰到下面的错误:
# ipcs
IPC status from as of Sun Jun 5 20:57:20 CST 2011
T ID KEY MODE OWNER GROUP
Message Queues:
shmids: Bad address
检查了/etc/system文件,虽然有些配置不太合理,但是理论上讲不应该出现这个错误。修改这个文件,并根据Oracle推荐的值进行了修改,重新启动主机,问题依旧。
检查操作系统日志,果然发现了错误:
Jun 5 20:49:23 ser02 genunix: [ID 936769 kern.info] emcp8 is /pseudo/emcp@8
Jun 5 20:49:23 ser02 pseudo: [ID 129642 kern.info] pseudo-device: emcp14
Jun 5 20:49:23 ser02 genunix: [ID 936769 kern.info] emcp14 is /pseudo/emcp@14
Jun 5 20:49:23 ser02 scsi: [ID 107833 kern.warning] WARNING: /pci@8,600000/QLGC,qlc@1/fp@0,0/ssd@w5006016341e0ac1c,0 (ssd1):
Jun 5 20:49:23 ser02 drive offline
Jun 5 20:49:23 ser02 scsi: [ID 107833 kern.warning] WARNING: /pci@8,600000/QLGC,qlc@1/fp@0,0/ssd@w5006016341e0ac1c,0 (ssd1):
Jun 5 20:49:23 ser02 drive offline
Jun 5 20:49:23 ser02 scsi: [ID 107833 kern.warning] WARNING: /pci@8,600000/fibre-channel@2/fp@0,0/ssd@w5006016241e0ac1c,0 (ssd8):
Jun 5 20:49:23 ser02 drive offline
Jun 5 20:49:23 ser02 scsi: [ID 107833 kern.warning] WARNING: /pci@8,600000/fibre-channel@2/fp@0,0/ssd@w5006016241e0ac1c,0 (ssd8):
Jun 5 20:49:23 ser02 drive offline
Jun 5 20:49:23 ser02 scsi: [ID 107833 kern.warning] WARNING: /pci@8,600000/fibre-channel@2/fp@0,0/ssd@w5006016a41e0ac1c,3 (ssd10):
Jun 5 20:49:23 ser02 drive offline
Jun 5 20:49:23 ser02 scsi: [ID 107833 kern.warning] WARNING: /pci@8,600000/fibre-channel@2/fp@0,0/ssd@w5006016a41e0ac1c,3 (ssd10):
Jun 5 20:49:23 ser02 drive offline
Jun 5 20:50:12 ser02 genunix: [ID 482702 kern.notice] sys/shmsys:shmexit() not defined properly
Jun 5 20:58:42 ser02 snmpXdmid: [ID 216524 daemon.error] Registration with DMI failed. err = 831.
这里出现了sys/shmsys:shmexit() not defined properly错误信息,怀疑目前操作系统的内存配置存在问题,导致了ipcs命令的错误。当然,操作系统命令都出现CORE DUMP,Oracle数据库或ASM实例是没有可能正常工作的。
最终这个问题居然是根据我以前一篇文档给出的方法解决的,那就是从启动盘中找到了/kernel/sys/sparcv9目录下的semsys和shmsys文件,覆盖本机上对应的文件,再重启服务器。
关于上次碰到的ipcs出现CORE DUMP错误的描述,可以参考:http://yangtingkun.itpub.net/post/468/504417
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-697449/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-697449/