概述
1、 RAC默认心跳时间
版本 | misscount | disktimeout | reboottime |
10.2.0.1 | 60s |
|
|
10.2.0.1+p4896338/10.2.0.2 | 60s | 200s | 3s |
10.2.0.3 | 60s | 200s | 3s |
OS | 10G(R1&R2) | 11G R1 | 第三方集群时 |
LINUX | 60 | 30 | 600 |
UNIX&WINDOWS | 30 | 30 | 600 |
disktimeout:默认200秒,定义css进程与vote disk连接的超时时间;
reboottime:发生裂脑并且一个节点被踢出后,这个节点将在reboottime的时间内重启;默认是3秒;
[oracle@trsen01 ~]$ crsctl get css reboottime | more
3
[oracle@trsen01 ~]$ crsctl get css misscount | more
60
[oracle@trsen01 ~]$ crsctl get css disktimeout | more
200
默认时间可以修改:利用crsctl set css <parameter> 来修改
2、cluster私有网络
在Oracle 10g/11g中,Oracle的私有网络(private network)包括clusterware的私有网络和数据库实例的私有网络:
clusterware的私有网络主要包括css数据的传送,即用一种特殊的ping命令来检测其他机器的状态;
数据库实例的私有网络,包括RDMS和ASM的,用于cache fusion(GCS/GES)数据的传输。
$CRS_HOME/bin/oifcfg getif命令来得到所有网络接口列表,这些信息保存在ocr中
[oracle@trsen01 cssd]$ /u01/app/oracle/product/10.2.0/crs_1/bin/oifcfg getif
eth0 192.168.8.0 global public
eth1 10.1.1.0 global cluster_interconnect
clusterware的私有网络,目前(10g/11g)只能使用一个网络接口,对应于/etc/hosts中定义的private hostname的那个网卡,可以通过查看ocssd的log来确定:
[ CSSD]2014-02-13 13:15:17.893 [3065748368] >TRACE: clssgmPeerListener: Listening on (ADDRESS=(PROTOCOL=tcp)(DEV=22)(HOST=10.1.1.8)(PORT=15974))
与另个节点通信的信息
[ CSSD]2014-02-13 13:21:11.729 [3065748368] >TRACE: clssgmConnectToNode: connecting to node 2 using connect string ((ADDRESS=(PROTOCOL=tcp)(DEV=22)(HOST=10.1.1.9)(PORT=42409)))
3、oracle实例的私有网络
Oracle实例的心跳网络使用方式的优先级从高到低如下:
(1) 如果使用了第三方集群的IPC,替换了对应$ORACLE_HOME/lib/libskgxnX.so文件,那么数据库实例的cache fusion会使用对应的网络协议,而忽略ocr中和数据库初始化参数中cluster_interconnects的配置
(2)如果没有使用第三方IPC,则优先使用数据库初始化参数的cluster_interconnects配置,这个参数的格式为if1:if2:...:ifn,可以不同于crs的私有网络,需要注意的是,该参数不支持多个网卡的故障切换;
(3) 没有上面两个配置,数据库会使用oifcfg列出的心跳的网络,在对应的告警日志中可以得到:
[oracle@trsen01 bdump]$ more alert_trsendb1.log
Thu Feb 13 14:59:06 CST 2014
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Interface type 1 eth1 10.1.1.0 configured from OCR for use as a cluster interconnect
Interface type 1 eth0 192.168.8.0 configured from OCR for use as a public interface
Shared memory segment for instance monitoring created
......
Cluster communication is configured to use the following interface(s) for this instance
10.1.1.8
(4) 没有1和2的配置,并且oifcfg也没有配置cluster_interconnect,则数据库会使用共有网络进行心跳信息的传输,这种配置其实是配置失败的情况,数据库虽然能够启动,但急需DBA修正,在告警日志中可以看到:
WARNING: No cluster interconnect has been specified. Depending on
the communication driver configured Oracle cluster traffic
may be directed to the public interface of this machine.
Oracle recommends that RAC clustered databases be configured
with a private interconnect for enhanced security and
performance.
对于一个已经有的系统,可以用下面几种方法确认数据库实例的心跳配置,包括网卡名称,IP地址,使用的网络协议:
(1) 最简单的方法:可以在数据库的后台报警日志中得到。具体参见上面列出的告警日志;
(2) 使用oradebug ;
SQL> oradebug setmypid
Statement processed.
SQL> oradebug ipc
Information written to trace file.
SQL> oradebug tracefile_name
/u01/app/oracle/admin/trsendb/udump/trsendb1_ora_3138.trc里有下面一句话提示
......
Mapped regions
Region[0] Id 1099173644 Base Address 0x20400000 Size 339738624 key 583797518
rgnport 0xd1d796c lbuf 0 nrgns 1 flags 1
SSKGXPT 0xd1d796c flags socket no 12 IP 10.1.1.8 UDP 31474
......
最后
以上就是大方溪流为你收集整理的ORACLE RAC心跳&&网络的全部内容,希望文章能够帮你解决ORACLE RAC心跳&&网络所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复