基于Oracle 11g rac运行中案例分析研究

2020-08-31 07:03董李艳
数字通信世界 2020年8期
关键词:多路径日志实例

董李艳

(上海大学信息化工作办公室,上海 200444)

1 Oracle RAC

Oracle real applicantion server真正应用集群简称Oracle RAC,是Oracle的并行集群,位于不同服务器系统的Oracle实例同时访问同一个Oracle数据库,节点之间通过私有网络进行通信,所有的控制文件、联机日志和数据文件存放在共享设备上,能够被集群中的所有结点同时读写。Rac的优点主要在于高可用性和负载均衡,一台机器有故障不影响业务系统访问数据库[1]。图1是由两台服务器搭建的一个Oracle集群的框架图。

图1 由两台服务器搭建Oracle集群框架图

2 实际运行中遇到的故障实例

下面分析几个在实际运行过程中的遇到的故障实例:

2.1 故障一

现象:业务库运行时候发现链接数据库比较慢,平均慢2-3s,有时候会有超时的现象。

分析:在得到业务系统的发反馈之后,首先个人使用Navicat链接数据库,使用Scan Ip和两个VipIP均可以链接,远程登陆服务器在服务器上登陆数据库也是一切正常,这种情况比较难处理,考虑从网络层出发看下情况,查看两台服务器的网络情况,发现链接慢的那一台服务器有丢包现象。

图2 故障一

知道可能是丢包造成的问题,首先查看是否是硬件问题:网线是否有问题,是否插拔不稳定,网络层查看网络包到交换机都是没有丢包现象的,现在这个问题可能出在Oracle集群本身,通过查找各种资源,发现使用的Linux下的双网卡绑定的balance-rr(Round-robin policy负载均衡方式,虽然效率比较高,但是对网络要求也很高,网络波动可能会对rac有轻微的影响,从而影响rac的性能,需要对负载均衡的方式进行修改。选择使用balance-alb(Adaptive load balancing)模式,该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。

解决方法,修改双网卡绑定方式为balance-alb(Adaptive load balancing)的负载均衡模式:

#vi /etc/modprobe.conf (低版本的linux可能是/etc/modules.conf)

alias bond0 bonding

options bond0 mode=6 miimon=100 downdelay=200 primary=eth1 primary_reselect=1

再测试发现不再丢包,故障不复存在。

2.2 故障二

现象:业务系统发现会有链接服务器失败的情况。分析:在发现外部系统无法正常链接Oracle Rac数据库之后,登录服务器端测试发现如下情况。

图3 故障二测试情况

这种情况是审计日志太大,导致空间满了,无法登录,对于审计日志,如果数据库业务库很多很大的话,审计日志增长很快,空间很容易满,而审计日志关闭又不能对数据库审计,不符合维保要求,这时候考虑关闭数据库的审计功能,开启专门的审计服务器对数据库进行外部审计。

解决方案:关闭数据库内部审计功能,开启专门的审计服务器对Oracle数据库进行外审计的方案。

第一步查看审计功能是否开启:

第2步:关闭审计功能

SQL> conn /as sysdba

SQL> show parameter audit

SQL> alter system set audit_trail = none scope=spfile;

第3步,将数据库审计加入外联审计服务器。

2.3 故障三

表现:日常巡查中发现业务系统最近一段时间一直都固定使用其中一台服务器,另外一台一直没有正常启用。

分析:由于是rac的运行机制,一台机器有问题并不影响数据库的业务运行,所以问题没有第一时间发现,登录数据库之后发现,出现如图4的问题:

图4 故障三

看故障图显示Connected to an idle instance的意思是成功链接到了数据库,但是这时候实例是没有成功启动的,对于登录到一个空实例的情况,首先尝试重启这台服务器的Oracle服务,重启无效,然后尝试对数据库进行关闭(shutdown),启动(startup)然后还是无效,通过查看多路径发现多路径的序列有点问题,两台服务器的多路径不一致导致的。

解决方案:重做多路径,在此过程总发现导致多路径问题的是两台机器的心跳不一致导致的,然后将两条心跳重新链接到交换机,多路径重新做如下:

再次测试,实例正常启动。

3 结束语

本文分析了Oracle 11g RAC运维日常中遇到的几个问题以及解决过程,并由此认为Oracle 11g RAC日常工作中遇到问题可以尝试以下几个方面解决:一是登录服务器查看服务器数据库是否正常登录进一步确认问题;二是查看Rac的多路径(如果使用多路径安装的Rac集群)是否一致,确认是否是Rac本身导致的问题;三是登录存储服务器查看存储服务器是否正常。以上给出Oracle日常运维中的几点建议。

猜你喜欢
多路径日志实例
河南构建多通道多方向多路径综合立体交通网
一名老党员的工作日志
多路径效应对GPS多普勒测速的影响
多路径助推肉牛产业稳定发展
扶贫日志
雅皮的心情日志
雅皮的心情日志
多路径传输协议测试床构建与测试
完形填空Ⅱ
完形填空Ⅰ