spectre
作者spectre·2015-07-07 11:57
数据库管理员·天津易遨在线

RAC的一些概念和原理性知识多方总结【2】

字数 1859阅读 1788评论 0赞 0

接RAC的一些概念和原理性知识多方总结【1】

5) OPROCD

OPROCD这个进程也叫作Process Monitor Daemon.如果在非Linux 平台上,并且没有使用第三方的集群软件时,就会看到这个进程。这个进程用来检查节点的Processor Hang(CPU挂起),如果调度时间超过1.5秒,就会认为CPU工作异常,会重启节点。也就是说这个进程提供"IO 隔离"的功能。从其在Windows平台上的服务名:OraFnceService也可以看出它的功能。而在Linux平台上,是利用Hangcheck-timer模块来实现"IO 隔离"的。

2.3 VIP 原理和特点

Oracle 的TAF 就是建立在VIP 技术之上的。IP 和VIP 区别在与:IP是利用TCP层超时,VIP利用的是应用层的立即响应。VIP它是浮动的IP. 当一个节点出现问题时会自动的转到另一个节点上。

假设有一个2个节点的RAC,正常运行时每个节点上都有一个VIP。VIP1和VIP2. 当节点2发生故障,比如异常关系。RAC会做如下操作:

1). CRS在检测到rac2节点异常后,会触发Clusterware重构,最后把rac2节点剔除集群,由节点1组成新的集群。

2). RAC的Failover机制会把节点2的VIP转移到节点1上,这时节点1的PUBLIC 网卡上就有3个IP 地址:VIP1,VIP2, PUBLIC IP1.

3). 用户对VIP2的连接请求会被IP层路由转到节点1

4). 因为在节点1上有VIP2的地址,所有数据包会顺利通过路由层,网络层,传输层。

5). 但是,节点1上只监听VIP1和public IP1的两个IP地址。并没有监听VIP2,故应用层没有对应的程序接收这个数据包,这个错误立即被捕获。

6). 客户端能够立即接收到这个错误,然后客户端会重新发起向VIP1的连接请求。

VIP 特点:

1). VIP是通过VIPCA脚本创建的。

2). VIP作为Nodeapps类型的CRS Resource注册到OCR中,并由CRS维护状态。

3). VIP会绑定到节点的public网卡上,故public网卡有2个地址。

4). 当某个节点发生故障时,CRS会把故障节点的VIP转移到其他节点上。

5). 每个节点的Listener会同时监听public网卡上的public ip和VIP.

6). 客户端的tnsnames.Ora一般会配置指向节点的VIP.

2.4 Clusterware 的日志体系

Oracle Clusterware的辅助诊断,只能从log和trace进行。而且它的日志体系比较复杂。

alert.log告警日志:

$ORA_CRS_HOMEloghostnamealert.Log, 这是首选的查看文件。

Clusterware后台进程日志:

crsd.Log: $ORA_CRS_HOMEloghostnamecrsdcrsd.Log

ocssd.Log: $ORA_CRS_HOMEloghostnamecssdocsd.Log

evmd.Log: $ORA_CRS_HOMEloghostnameevmdevmd.Log

Nodeapp日志位置:

$ORA_CRS_HOMEloghostnameracg

这里面放的是nodeapp的日志,包括ONS和VIP,比如:ora.Rac1.ons.Log

工具执行日志:

$ORA_CRS_HOMEloghostnameclient

Clusterware提供了许多命令行工具:

比如ocrcheck, ocrconfig,ocrdump,oifcfg和clscfg, 这些工具产生的日志就放在这个目录下,还有$ORACLE_HOMEloghostnameclient和$ORACLE_HOMEloghostnameracg也有相关的日志。

参考:http://www.111161.cn/thread-23991-1-1.html http://apps.hi.baidu.com/share/detail/23532601

http://bbs.chinaunix.net/viewthread.php?tid=1805547

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广