RAC环境:
甲骨文数据库:oracle11gr2
操作系统:rhel6.4_x86_64
故障现象:
1, RAC其一个节点的oracle与asm相关的进程和实例启动失败;
查看方法:ps ef | grep ora_
,,,,,,,,,ps ef | grep asm_
,,,,,,,,,crsctl stat res - t(只能看到节点1上启动的甲骨文实例和asm实例)
2,在节点2上查看不到asm磁盘设备标签;
查看方法:oracleasm listdisks,(没有内容)
会/dev/oracleasm/disks/*(没有内容)
3,在节点2上扫描asm磁盘时报以下错误;
查看方法:oracleasm磁盘检查工具
,,,,,,,,,重新加载磁盘分区:做
,,,,,,,,,清洁任何过期ASM磁盘…
,,,,,,,,,扫描系统对ASM磁盘…
,,,,,,,,,实例化磁盘“VOL4”
,,,,,,,,,不能实例化磁盘“VOL4”
,,,,,,,,,实例化磁盘“VOL1”
,,,,,,,,,不能实例化磁盘“VOL1”
4,查看oracleasm日志信息提示权限问题;
查看方法:猫/var/log/oracleasm
,,,,,,,,,,
分析过程:
为了排除其它因素的干扰,我重启了节点2的操作系统,重启后节点2上的asm磁盘依旧不能正常加载,通过查看oracleasm日志依然提示是权限问题,大胆猜想下,可能有以下原因导致asm
磁盘不能正常加载:
1, asm相关的rpm包安装不正常,如版本不对应的;
2,操作系统相关的安全服务导致;
3,系统重启时规则规则配置不正确,导致asm磁盘不能正常加载;
排除:
1, rpm aq | grep oracleasm需要安装3个包(kmod-oracleasm oracleasmlib oracleasm-support)
2,服务iptables状态(iptables服务关闭)
getenforce,(查看状态执行,说明selinux服务没有关闭)
3,本实例并没有使用原始裸设备,因此没有配置规则规则在启动时加载
处理方法:
由于节点2的selinux服务没有关闭,因此关闭selinux服务
setenforce 0
,,vi/etc/sysconfig/selinux
将SELINUX=执行改为SELINUX=禁用,这样重启服务器则不会启动SELINUX服务
关闭SELINUX服务后,执行asm磁盘扫描操作,正常识别asm磁盘。
,,
oracleasm磁盘检查工具