Oracle数据库的高可用一部分

检查本地监听
SQL> show paramter local_listener
检查远程监听
SQL> show parameter remote_listener

配置本地监听
SQL> alter system set local_listener=’’;
配置远程监听
SQL> alter system set remote_listener=‘SCAN_NAME:PORT’;

对配置的监听进行注册
SQL> alter system register;

本地监听:local_listener设置为想本地VIP地址进行注册,由于本地监听器是在本地的公共IP和VIP上监听,所以向VIP监听注册就能保证成功向本地监听器注册。
查看本地监听器的状态
[grid@**]$lsnrctl status listener

SCAN监听器的注册是由REMOTE_LISTENER参数控制的,任何实例都会向所有的SCAN监听器注册,下面是REMOTE_LISTENER的配置:
SQL> show parameter remote_listener
[grid@**]$lsnrctl status remote_listener_values

通过日志查看实例的动态注册于动态更新
SCAN监听器能够几乎实时地了解到所有实例的运行情况,能够准确地将连接重定向到空闲服务器的本地监听器上,实例在想本地监听器和SCAN监听器动态注册的时候,会想监听器提供服务名称,当前负载,建议有多少个连接可以直接连接到实例等信息,为SCAN能够准确地完成负载均衡提供必要信息。
1、本地监听器动态注册日志:
[grid@]$ cd ORACLE_BASE/diag/tnslsnr/instance_name/listener/alert/
ORACLE_BASE=/u01/app/grid
[grid@
]$ grep service_register log.xml | head -5

  2、SCAN监听器动态注册日志  (11.2.0.2版本)

[grid@]$ cd /u01/app/11.2.0/log/diag/tnslsnr/instance_name/listener_scan1/alert/
11.2.0.1版本的SCAN监听器动态注册日志路径
[grid@
]$ cd /u01/app/grid/diag/tnslsnr/instance_name/listener/listener_scan1/alert/

  3、本地监听器动态更新日志

[grid@** alert]$ grep service_update log.xml | head -5

  4、SCAN监听器动态更新日志

[grid@** alert]$ grep serive_update log.xml | head -5

负载均衡中的优先级
共享服务器配置中,监听器按照以下的优先级顺序选择一个调度器处理客户端连接请求:
低负载节点
低负载实例
实例相关的低负载调度器
独占服务器配置中,监听器按照以下的优先级顺序选择一个实例处理客户端连接请求:
低负载节点
低负载实例

在linux中使用nslookup 工具来检查是否使用round robin方式循环解析SCAN名称
[root@**]# nslookup scanrac

查看SCAN配置信息
[root@** bin]# ./srvctl config scan
查看SCAN监听器配置信息
[root@** bin]# ./srvctl config scan_listener
查看SCAN vip的节点分配
[root@** bin]./srvctl status scan
查看SCAN Listener的运行节点
[root@** bin]# ./srvctl status scan_listener

11g R2之前只能使用节点VIP连接数据库,当节点发生故障失败之后,该节点的VIP地址会漂移到其他正常节点的公共IP上,但是正常节点的监听器并没有发生变化,也就是说,VIP监听并没有在正常节点的监听器注册,所以此VIP IP漂移到正常节点的监听器以后并无实际作用。
11g R2中,使用的SCAN IP地址,在漂移的同时,SCAN listener也会漂移过来。

RAC中私有网络的Cluster_interconnects参数
Cluster_interconnects参数主要用于以下目的:
覆盖默认的内联网络
单一的网络带宽不能满足RAC数据库的带宽要求,增加带宽
Cluster_interconnects将信息存储在集群注册表中,明确覆盖以下内容:
存储在OCR中通过oifcfg命令查看的网络分类
Oracle选择的默认内部连接
Cluster_interconnects默认值是空,可以包含一个或更多的IP地址,用冒号分隔,格式为:
Cluster_interconnects=ifn[:ifn]…。
Cluster_interconnect是一个静态参数,执行下面的命令设置RAC不同实例Cluster_interconnects参数:
SQL> alter system set cluster_interconnects = ‘192.168.1.125’ scope = spfile sid =‘rac1’;
SQL> alter system set cluster_interconnects = ‘192.168.1.126’ scope = spfile sid =‘rac2’;

执行下面的命令为Cluster_interconnects指定多个网络接口作为内联网络,两个IP地址间用冒号分隔:

SQL> alter system set cluster_interconnects = ‘10.1.1.11:192.168.1.300’ scope = spfile sid = ‘rac1’;

SQL> alter system set cluster_interconnects = ‘10.1.1.11:192.168.1.400’ scope = spfile sid =‘rac2’;

注意:如果RAC数据库内部连接配置运行在Clusterware内部连接不同的接口,如果Clusterware NIC保持正常,RAC内部连接失败将导致RAC节点出现异常情况,可用性被降低。

除了Cluster_interconnects,还有更好的HAIP或系统级别的link-bongding技术是更好的选择。

HAIP 是从11.2.0.2开始出现的内部连接冗余技术。
多个是有网络适配器能在安装期间或者后来使用oifcfg来定义。在11.2.0.2的数据库中,CSS,OCR,CRS,CRSS和EVM组件将自动使用这个特性。即使定义了多个私有网络,Grid Infrastructure最多能激活4个私有网络。
在 ./crsctl stat res -t -init 下面将会有 ora.cluster_interconnect.haip这个进程,支持HAIP的进程
在Oracle数据库中,HAIP最多创建可以4个HAIP。之后及时Grid Infrastructure有更多的私有网络被激活,HAIP的个数也不会发生改变,且在更新HAIP后,需要同时重启所有节点的Clusterware.当Clusterware完全启动之后,HAIP资源的状态应该显示ONLINE:

     先配置多余的网卡  
     然后使用oifcfg 在双节点将配置的网卡加入到OCR中,然后分别重启这三个节点的集群服务,HAIP会自动生效。
     其中HAIP不需要/etc/hosts文件的配置

HAIP的日志文件
资源HAIP通过ohasd.bin进程被管理,资源日志存放在一下位置:
$ORACLE_HOME/log//ohasd/ohasd.log
$ORACLE_HOME/log//agent/ohasd/orarootagent_root/orarootagent_root.log

查看ocssd.log日志	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值