ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 16465|回复: 34

[精华] Oracle RAC和Oracle clusterware的Private network

[复制链接]
论坛徽章:
116
ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:312015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24喜羊羊
日期:2015-03-25 15:04:022010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:19
发表于 2009-3-25 11:59 | 显示全部楼层 |阅读模式

  Clusterware的私有网络

  在Oracle 10g/11g中,Oracle的私有网络(private network)包括clusterware的私有网络和数据库实例的私有网络:


  作者:shahand
    clusterware的私有网络主要包括css数据的传送,即用一种特殊的ping命令来检测其他机器的状态;

  数据库实例的私有网络,包括RDMS和ASM的,用于cache fusion(GCS/GES)数据的传输。

  当我们只使用一个私有网卡的时,同时传送上面两类的数据。

    如果我们在安装时指定了两个私有网卡,首先使用如下面$CRS_HOME/bin/oifcfg getif命令来得到所有网络接口列表,这些信息保存在ocr中:

  # oifcfg getif

  en0 10.200.56.0 global public

  en3 192.168.3.0 global cluster_interconnect

  en5 192.168.5.0 global cluster_interconnect

  情况会有所不同,clusterware的私有网络,目前(10g/11g)只能使用一个网络接口,对应于/etc/hosts中定义的private hostname的那个网卡,可以通过查看ocssd的log来确定:

  当/etc/hosts 中定义private hostname为192.168.3.233时看到 :

  [ CSSD]2009-01-16 17:34:12.406 [1029] >TRACE: clssgmPeerListener: Listening on (ADDRESS=(PROTOCOL=tcp)(DEV=12) (HOST=192.168.3.233)(PORT=45527))

  这个是与其他节点css进行通信的信息:

  [ CSSD]2009-01-16 17:36:27.463 [1029] >TRACE: clssgmConnectToNode: node 2 clsc (ADDRESS=(PROTOCOL=tcp)(DEV=12) (HOST=192.168.3.234)(PORT=37732)) - size 64 ver 1

  当/etc/hosts 中定义private hostname为192.168.5.233时,css使用了另外一个网络:

  [ CSSD]2009-01-16 18:59:56.411 [1029] >TRACE: clssgmPeerListener: Listening on (ADDRESS=(PROTOCOL=tcp)(DEV=12) (HOST=192.168.5.233)(PORT=50415))

  Oracle实例的私有网络

  Oracle实例的心跳网络使用方式的优先级从高到低如下:

  (1) 如果使用了第三方集群的IPC,替换了对应$ORACLE_HOME/lib/libskgxnX.so文件,那么数据库实例的cache fusion会使用对应的网络协议,而忽略ocr中和数据库初始化参数中cluster_interconnects的配置,下面的例子当中就使用了VCSIPC,可以从对应的alert log中验证:

  db_name = r10g

  open_cursors = 300

  pga_aggregate_target = 1237319680

  Fri Mar 13 14:00:35 2009

  Oracle instance running with ODM: Veritas 6.0 ODM Library, Version 1.1

  cluster interconnect IPC version:

  VERITAS IPC 5.1.0.0 15:16:24 Feb 12 2009

  IPC Vendor 86 proto 76

  Version 1.0

  PMON started with pid=2, OS id=4399196

  DIAG started with pid=3, OS id=3936288

  (2) 如果没有使用第三方IPC,则优先使用数据库初始化参数的cluster_interconnects配置,这个参数的格式为if1:if2:...:ifn,可以不同于crs的私有网络,需要注意的是,该参数不支持多个网卡的故障切换;

  (3) 没有上面两个配置,数据库会使用oifcfg列出的心跳的网络,在对应的告警日志中可以得到:

  Interface type 1 en6 192.168.61.0 configured from OCR for use as a cluster interconnect

  Interface type 1 en0 10.182.0.0 configured from OCR for use as a public interface

  . . . .

  Cluster communication is configured to use the following interface(s) for this instance

  192.168.61.0

  (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

  SQL> oradebug ipc

  SQL> oradebug tracefile_name

  找到对应trace文件的这一行:socket no 10 IP 10.0.0.1 UDP 49197

  (3) 从数据字典中得到(V$CLUSTER_INTERCONNECTS 和 V$CONFIGURED_INTERCONNECTS),或查询x$ksxpia

  SQL> SELECT * FROM V$CLUSTER_INTERCONNECTS; ----Oracle 11g 开始支持此试图

  NAME IP_ADDRESS IS_ SOURCE

  ------------------------------ ---------------- --- -------------------------------

  en3 192.168.2.31 NO Oracle Cluster Repository

  en5 192.168.3.231 NO Oracle Cluster Repository

  SQL> SELECT * FROM V$CONFIGURED_INTERCONNECTS;

  NAME IP_ADDRESS IS_ SOURCE

  ------------------------------ ---------------- --- -------------------------------

  en3 192.168.2.31 NO Oracle Cluster Repository

  en5 192.168.3.231 NO Oracle Cluster Repository

  en0 10.200.59.231 YES Oracle Cluster Repository

  SQL> select * from x$ksxpia ;

  ADDR INDX INST_ID PUB_KSXPIA PICKED_KSXPIA NAME_KSXPIA IP_KSXPIA

  ---------------- ---------- ---------- ---------- --------------- --------------- ----------------

  00000001104AAF28 0 1 N OCR en6 192.168.61.121

  00000001104AAF28 1 1 Y OCR en0 10.182.6.211

  避免心跳网络成为系统的单一故障点 (SPOF)

简单地我们可以使用操作系统绑定的网卡来作为Oracle的心跳网络,以AIX为例,我们可以使用etherchannel技术,假设系统中有ent0/1/2/3四块网卡,我们绑定2和3作为心跳:


  #mkdev -c adapter -s pseudo -t ibm_ech -a adapter_names='ent2,ent3' ## 将生成网卡设备ent4

  #/usr/lib/methods/defif

  #lsdev -Cc adapter | grep ent

  #lsattr -El ent4

  #ifconfig en4 inet 192.168.3.231 netmask 255.255.255.0 up

  在Solaris上可以使用dladm来创建链路聚合:

  # dladm create-aggr -d bge2 -d bge3 1

  # ifconfig aggr1 plumb 192.168.3.231 netmask 255.255.255.0 up

  # dladm show-aggr

  # ifconfig -a

  同样在HPUX和Linux对应的技术分别叫APA和bonding。

  UDP私有网络的调优

  当使用UDP作为数据库实例间cashe fusion的通信协议时,在操作系统上需要调整相关参数,以提高UDP传输效率,并在较大数据时避免出现超出OS限制的错误:

  (1) UDP数据包发送缓冲区:大小通常设置要大于(db_block_size * db_multiblock_read_count )+4k,

  (2) UDP数据包接收缓冲区:大小通常设置10倍发送缓冲区;

  (3) UDP缓冲区最大值:设置尽量大(通常大于2M)并一定要大于前两个值;

  各个平台对应查看和修改命令如下:

  Solaris 查看 ndd /dev/udp udp_xmit_hiwat udp_recv_hiwat udp_max_buf ;

  修改 ndd -set /dev/udp udp_xmit_hiwat 262144

  ndd -set /dev/udp udp_recv_hiwat 262144

  ndd -set /dev/udp udp_max_buf 2621440

  AIX 查看 no -a |egrep “udp_|tcp_|sb_max”

  修改 no -p -o udp_sendspace=262144

  no -p -o udp_recvspace=1310720

  no -p -o tcp_sendspace=262144

  no -p -o tcp_recvspace=262144

  no -p -o sb_max=2621440

  Linux 查看 文件/etc/sysctl.conf

  修改 sysctl -w net.core.rmem_max=2621440

  sysctl -w net.core.wmem_max=2621440

  sysctl -w net.core.rmem_default=262144

  sysctl -w net.core.wmem_default=262144

  HP-UX 不需要

  HP TRU64 查看 /sbin/sysconfig -q udp

  修改: 编辑文件/etc/sysconfigtab

  inet: udp_recvspace = 65536

  udp_sendspace = 65536

  Windows 不需要

[ 本帖最后由 shahand 于 2010-6-2 17:22 编辑 ]
论坛徽章:
17
授权会员
日期:2005-10-30 17:05:33优秀写手
日期:2014-03-20 06:00:352013年新春福章
日期:2013-02-25 14:51:242012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412011新春纪念徽章
日期:2011-02-18 11:43:352011新春纪念徽章
日期:2011-01-04 10:38:442010新春纪念徽章
日期:2010-03-01 11:05:00生肖徽章2007版:马
日期:2009-11-03 13:55:02祖国60周年纪念徽章
日期:2009-10-09 08:28:00
发表于 2009-3-25 12:46 | 显示全部楼层
学习

使用道具 举报

回复
论坛徽章:
1
生肖徽章2007版:马
日期:2009-01-14 15:41:06
发表于 2009-3-25 12:47 | 显示全部楼层
总结的不错

使用道具 举报

回复
论坛徽章:
113
生肖徽章:牛
日期:2007-09-26 12:33:05马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:112013年新春福章
日期:2013-02-25 14:51:242011新春纪念徽章
日期:2011-05-11 14:23:372012新春纪念徽章
日期:2012-01-04 11:49:542010新春纪念徽章
日期:2010-01-04 22:00:09生肖徽章2007版:牛
日期:2009-09-18 22:19:58生肖徽章2007版:虎
日期:2009-05-19 22:37:22生肖徽章2007版:鼠
日期:2009-03-16 13:02:24
发表于 2009-3-25 14:01 | 显示全部楼层
Good

使用道具 举报

回复
论坛徽章:
25
生肖徽章2007版:鸡
日期:2008-01-02 17:35:53管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
发表于 2009-3-25 18:01 | 显示全部楼层
总结的很好,值得表扬

使用道具 举报

回复
论坛徽章:
98
2009日食纪念
日期:2009-07-22 09:30:002010新春纪念徽章
日期:2010-03-01 11:05:012010年世界杯参赛球队:美国
日期:2010-05-02 21:32:232010数据库技术大会纪念徽章
日期:2010-05-13 09:34:23ITPUB季度 技术新星
日期:2010-05-17 15:53:17数据库板块每日发贴之星
日期:2010-05-24 01:01:072010年世界杯参赛球队:意大利
日期:2010-05-31 20:55:432010年世界杯参赛球队:巴拉圭
日期:2010-07-03 13:06:582010世博会纪念徽章
日期:2010-08-18 23:53:44ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
发表于 2009-3-25 20:39 | 显示全部楼层
学习了。

使用道具 举报

回复
论坛徽章:
8
奥运会纪念徽章:赛艇
日期:2008-10-24 13:25:17生肖徽章2007版:牛
日期:2009-02-25 12:24:562010年世界杯参赛球队:加纳
日期:2010-03-01 09:47:242010新春纪念徽章
日期:2010-03-01 11:19:502010年世界杯参赛球队:意大利
日期:2010-04-08 15:38:112011新春纪念徽章
日期:2011-02-18 11:43:35ITPUB十周年纪念徽章
日期:2011-11-01 16:24:51优秀写手
日期:2014-10-23 06:00:14
发表于 2009-3-26 11:05 | 显示全部楼层
学习

使用道具 举报

回复
论坛徽章:
8
2009新春纪念徽章
日期:2009-01-04 14:52:28CTO参与奖
日期:2009-02-12 11:45:48生肖徽章2007版:鼠
日期:2009-03-10 21:32:402010新春纪念徽章
日期:2010-03-01 11:20:512010年世界杯参赛球队:阿根廷
日期:2010-05-18 09:56:35ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51紫蛋头
日期:2011-06-21 16:00:27ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
发表于 2009-3-26 21:17 | 显示全部楼层
很好很强大

使用道具 举报

回复
论坛徽章:
2
2011新春纪念徽章
日期:2011-02-18 11:43:342012新春纪念徽章
日期:2012-01-04 11:49:54
发表于 2009-3-27 10:44 | 显示全部楼层
很好,学习了。

使用道具 举报

回复
论坛徽章:
62
马上加薪
日期:2014-02-19 11:55:14ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:49:54现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-02-18 11:42:472011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:01
发表于 2009-3-27 10:56 | 显示全部楼层
总结得比较全了

UDP buffer调整不好的话,rac会比single instance慢很多的.

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

SACC2017购票7.8折优惠进行时

2017中国系统架构师大会(SACC2017)将于10月19-21日在北京新云南皇冠假日酒店震撼来袭。今年,大会以“云智未来”为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置2大主会场,18个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100余位技术专家及行业领袖来分享他们的经验;并将吸引4000+人次的系统运维、架构师及IT决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年8月30日前

活动链接>>
TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表