11.2.0.4 rac节点显示异常问题解决

Oracle · newbie_l · 于 1年前发布 · 579 次阅读

云吞信息-cdshrewd

1.环境说明

节点一

节点二

GRID版本

11.2.0.4

11.2.0.4

数据库版本

11.2.0.4

11.2.0.4

Public IP

172.19.191.132

172.19.191.133

VIP

172.19.191.134

172.19.191.135

scanIP

172.19.191.30

scan_name

racscan

ORACLE_HOME

/u01/app/oracle/product/11.0.2.4/

/u01/app/oracle/product/11.2.0.4/

DB_NAME

dmtdb

DB Instances

dmtdb1

dmtdb2

DB_UNIQUE_NAME

dmtdb

数据库名

2.遇到的问题

问题1

 grid control添加这套rac数据库的时候,一个节点显示为cluster database,一个节点显示为single database,在数据库目标概览也无法整合在一起显示。其中显示为cluster database的节点对应的实例名为dmtdb1,显示为单机的实例名为dmtdb2.

问题2

weblogic创建的gridlink只能连接一个节点,且连接的节点为dmtdb2.无法实现负载均衡。

3.问题分析与解决

了解到问题的现象,确认集群运行很长一段时间,近期并无变更。之所以发现存在以上两个问题,纯粹是因为最近将这套集群纳入grid control管理,发现集群节点显示异常,然后查看负载均衡发现节点二明显比节点一高,所以才发现了第二个问题。第一印象是集群是否存在服务异常,首先,执行以下命令查看集群服务状态,crsctl stat res -t,集群服务都正常。

接下来就考虑是否存在集群配置异常,这里我们直接采用了orachk进行检查,检查结果显示配置正常。这个时候我们开始怀疑是否grid control本身配置有问题,打开cluster database界面,发现一个提示,显示配置异常,选择手动解决。这时在添加节点的页面,我们手动选择dmtdb2对应的服务器和实例,按照向导逐步添加完成,发现cluster database页面已经显示正常,然后手动删除作为孤立的一个单机的dmtdb2实例,至此grid control显示异常的问题解决。

还有一个问题就是weblogic的grid link只能连接一个节点。怀疑监听配置是否存在问题,查看两节点local_listener和remote_listener一致且与hosts文件中scan名称一致,ping racsacn均未见异常,同时检查两个节点的本地监听和集群的scan监听,都显示正在运行,scan运行在节点二上,但是发现一个奇怪的地方,本地监听服务都注册成功,scan监听却只看到节点二对应实例注册,未发现节点一对应实例注册。沟通得知,这套集群很早就更换过scan IP的地址(网段未调整),但并没有更换scan名称,更换scan IP操作严格按照官方执行,scan监听和本地监听都已经重启过。由于业务正在运行,不允许重启scan监听,经协商,由于节点一几乎没有承担什么负载,可以快速重启节点一的本地监听,但是重启后问题依旧。

至此,问题进入了一个死胡同,经过分析,可以确定负载不均衡的原因就是由于grid link采用了scan IP连接,而节点一对应的实例没有注册到scan监听,因此不均衡。问题变成了如何在不重启scan监听的情况下,使得节点一注册到scan中。由于重启本地监听无效,所以推断只能考虑重新设置remote_listener试试,所以执行了alter system set remote_listener='racscan:1521' sid='dmtdb1' scope=both;(这里其实并没有真正的调整remote_listener的值,只不过重新设置了一次)。然后再到节点二上查看scan listener中的dmtdb的服务,发现实例一注册成功,至此,个人认为这个问题已经解决。接下来就是weblogic的验证,由于weblogic采用的是长连接,因此即使数据库本身已经可以通过scan连接连个实例,但是如果不重新创建新的连接,在weblogic的监视页面还是只能看到一个实例,因此,考虑到weblogic本身也是集群部署,趁中午联系应用人员重启了一个server,然后可以看到这个server已经连接到实例一了,至此,问题圆满解决。

4.总结

本次问题是由添加oem监控发现节点显示异常引出的,问题的根本原因在于scan IP更换后,节点一的实例没有成功注册到scan监听中。OEM监控可以通过手动添加节点采用vip连接数据库解决,weblogic的grid link由于配置使用了scan IP,因此必须确保两个实例都能注册到scan监听才行,最终问题的解决,是通过重新设置remote_listener解决的,据此可以推断,通过设置remote_listener参数,可以出发实例像scan监听注册的动作。通过这个案例也提醒我们,在修改完scanIP后一定需要确认服务都注册成功。

云吞信息|探索·沉淀·分享

You'll never walk alone

本文由 newbie_l 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。


共收到 0 条回复
没有找到数据。
回复本帖 (需要登录)