首页 > 代码库 > rac某节点asm磁盘启动失败故障定位及恢复
rac某节点asm磁盘启动失败故障定位及恢复
RAC环境:
oracle数据库:oracle11gr2
操作系统:rhel6.4_x86_64
故障现象:
1、rac其一个节点的oracle与asm相关的进程和实例启动失败;
查看方法:ps -ef|grep ora_
ps -ef|grep asm_
crsctl stat res -t (只能看到节点1上启动的oracle实例和asm实例)
2、在节点2上查看不到asm磁盘设备标签;
查看方法:oracleasm listdisks (没有内容)
ll /dev/oracleasm/disks/* (没有内容)
3、在节点2上扫描asm磁盘时报以下错误;
查看方法:oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
Instantiating disk "VOL4"
Unable to instantiate disk "VOL4"
Instantiating disk "VOL1"
Unable to instantiate disk "VOL1"
4、查看oracleasm日志信息提示权限问题;
查看方法:cat /var/log/oracleasm
分析过程:
为了排除其它因素的干扰,我重启了节点2的操作系统,重启后节点2上的asm磁盘依旧不能正常加载,通过查看oracleasm日志依然提示是权限问题,大胆猜想下,可能有以下原因导致asm
磁盘不能正常加载:
1、asm相关的rpm包安装不正常,如版本不对应;
2、操作系统相关的安全服务导致;
3、系统重启时rule规则配置不正确,导致asm磁盘不能正常加载;
排除:
1、rpm -aq|grep oracleasm 需要安装3个包(kmod-oracleasm oracleasmlib oracleasm-support)
2、service iptables status (iptables 服务关闭)
getenforce (查看状态enforcing,说明selinux服务没有关闭)
3、本实例并没有使用raw裸设备,因此没有配置rule规则在启动时加载
处理方法:
由于节点2的selinux服务没有关闭,因此关闭selinux服务
setenforce 0
vi /etc/sysconfig/selinux
将SELINUX=enforcing改为SELINUX=disabled,这样重启服务器则不会启动selinux服务
关闭selinux服务后,执行asm磁盘扫描操作,正常识别asm磁盘。
oracleasm scandisks
rac某节点asm磁盘启动失败故障定位及恢复