今天同事在巡检过程中,发现了一个致命的问题,双机故障,我们所谓的rac就是保证至少1个节点可用, 结果2个节点都down了, 如何给客户交代?
oracle系统如此之贵,结果中断了业务,这个问题有点严重了。 说得吓人。。。
来,我们直接看故障点:
1.在crsctl status res -t 的时候,看到DG是offline的, 然后instance是down的。
分析:
down机可能原因
1.硬件故障导致机器重启,磁阵权限丢失,asm拉不起,可以先检查磁盘状态和权限。
2. 数据库压力过大,控制器出问题,导致磁盘dismount
3. oracle bug ,需要打补丁
检查权限(2个节点都要看):
2. 可能是同事处理过,说已经恢复了系统。
但给我说,节点1有个crs没有启动。
节点2查看整个集群状态
$ crsctl status res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DG01_CRS.dg
ONLINE ONLINE db2
ora.DG02_DATA.dg
ONLINE ONLINE db2
ora.DG02_EDATA.dg
ONLINE ONLINE db2
ora.DG03_REDO01.dg
ONLINE ONLINE db2
ora.DG04_REDO02.dg
ONLINE ONLINE db2
ora.LISTENER.lsnr
ONLINE ONLINE db2
ora.asm
ONLINE ONLINE db2
ora.gsd
OFFLINE OFFLINE db2
ora.net1.network
ONLINE ONLINE db2
ora.ons
ONLINE ONLINE db2
ora.registry.acfs
ONLINE ONLINE db2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE OFFLINE
ora.cvu
1 ONLINE OFFLINE
ora.db1.vip
1 ONLINE OFFLINE
ora.db2.vip
1 ONLINE ONLINE db2
ora.oc4j
1 ONLINE ONLINE db2
ora.scan1.vip
1 ONLINE OFFLINE
ora.unicom.dataclient.svc
1 ONLINE OFFLINE
2 ONLINE ONLINE db2
ora.unicom.dataldr.svc
1 ONLINE OFFLINE
2 ONLINE ONLINE db2
ora.unicom.db
1 ONLINE OFFLINE
2 ONLINE ONLINE db2 Open
节点1查看crs状态
$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
$ crsctl status res -t
CRS-4563: Insufficient user privileges.
CRS-4000: Command Start failed, or completed with errors.
查看进程,发现在节点1,没有crsd.bin , 但css has 等都是有的,
那么我们单独启动节点1 的 crs
查看节点1 进程
再查看节点1 整个crs的状态
等3分钟,因为有个刷新的过程,拉起其他进程的过程。
我们再查看整个集群
到这里 2个节点就好了。
做到这里,说明运维的部分已经做完了,
那么我们不仅仅是运维,更多是开发dba的范围, 承担系统架构,性能优化,应用优化。 这样做好了,就少一些运维。
-- 下面继续分析, 如何避免数据库压力大,有优化的余地吗? 答案是肯定的---- > 有
没有完美的系统,没有绝对的高手,只有在不断研究,才不断进步。
明天补充说明 从AWR分析,整个系统的性能问题。