为什么Rac的心跳线不支持交叉线?

本文解释了OracleRAC环境中不支持使用交叉线的原因,包括限制集群扩展到两节点及可能引发的不稳定问题,并强调使用交换机所带来的稳定性和扩展性优势。
在Oracle RAC的官方文档上有这样一句话: Crossover cables are not supported for use with Oracle Clusterware interconnects. 也就是说Oracle不支持使用交叉线作为ClusterWare的interconnects。 这里的Not Support不是说交叉线不能用,而是说Oracle不建议这样做,同时不承担这样做而产生的一系列问题。 在Metalink上有这样一段描述说的非常清楚,摘录一下: CROSS OVER CABLES ARE NOT SUPPORTED. The requirement is to use a switch: Detailed Reasons: 1) cross-cabling limits the expansion of RAC to two nodes 2) cross-cabling is unstable: a) Some NIC cards do not work properly with it. They are not able to negotiate the DTE/DCE clocking, and will thus not function. These NICS were made cheaper by assuming that the switch was going to have the clock. Unfortunately there is no way to know which NICs do not have that clock. b) Media sense behaviour on various OS's (most notably Windows) will bring a NIC down when a cable is disconnected. Either of these issues can lead to cluster instability and lead to ORA-29740 errors (node evictions). Due to the benefits and stability provided by a switch, and their afforability ($200 for a simple 16 port GigE switch), and the expense and time related to dealing with issues when one does not exist, this is the only supported configuration. 实际上,交换机的引入是为了更高的扩展性和稳定性,这是合理的投入,在搭建RAC环境时值得投入。
链接:http://jingh3209.blog.163.com/blog/static/156966720090643552908/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23650854/viewspace-697254/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23650854/viewspace-697254/

下载方式:https://pan.quark.cn/s/a4b39357ea24 布线问题(分支限界算法)是计算机科学和电子工程领域中一个广为人知的议题,它主要探讨如何在印刷电路板上定位两个节点间最短的连接路径。 在这一议题中,电路板被构建为一个包含 n×m 个方格的矩阵,每个方格能够被界定为可通行或不可通行,其核心任务是定位从初始点到最终点的最短路径。 分支限界算法是处理布线问题的一种常用策略。 该算法与回溯法有相似之处,但存在差异,分支限界法仅需获取满足约束条件的一个最优路径,并按照广度优先或最小成本优先的原则来探索解空间树。 树 T 被构建为子集树或排列树,在探索过程中,每个节点仅被赋予一次成为扩展节点的机会,且会一次性生成其全部子节点。 针对布线问题的解决,队列式分支限界法可以被采用。 从起始位置 a 出发,将其设定为首个扩展节点,并将与该扩展节点相邻且可通行的方格加入至活跃节点队列中,将这些方格标记为 1,即从起始方格 a 到这些方格的距离为 1。 随后,从活跃节点队列中提取队首节点作为下一个扩展节点,并将与当前扩展节点相邻且未标记的方格标记为 2,随后将这些方格存入活跃节点队列。 这一过程将持续进行,直至算法探测到目标方格 b 或活跃节点队列为空。 在实现上述算法时,必须定义一个类 Position 来表征电路板上方格的位置,其成员 row 和 col 分别指示方格所在的行和列。 在方格位置上,布线能够沿右、下、左、上四个方向展开。 这四个方向的移动分别被记为 0、1、2、3。 下述表格中,offset[i].row 和 offset[i].col(i=0,1,2,3)分别提供了沿这四个方向前进 1 步相对于当前方格的相对位移。 在 Java 编程语言中,可以使用二维数组...
源码来自:https://pan.quark.cn/s/a4b39357ea24 在VC++开发过程中,对话框(CDialog)作为典型的用户界面组件,承担着与用户进行信息交互的重要角色。 在VS2008SP1的开发环境中,常常需要满足为对话框配置个性化背景图片的需求,以此来优化用户的操作体验。 本案例将系统性地阐述在CDialog框架下如何达成这一功能。 首先,需要在资源设计工具中构建一个新的对话框资源。 具体操作是在Visual Studio平台中,进入资源视图(Resource View)界面,定位到对话框(Dialog)分支,通过右键选择“插入对话框”(Insert Dialog)选项。 完成对话框内控件的布局设计后,对对话框资源进行保存。 随后,将着手进行背景图片的载入工作。 通常有两种主要的技术路径:1. **运用位图控件(CStatic)**:在对话框界面中嵌入一个CStatic控件,并将其属性设置为BST_OWNERDRAW,从而具备自主控制绘制过程的权限。 在对话框的类定义中,需要重写OnPaint()函数,负责调用图片资源并借助CDC对象将其渲染到对话框表面。 此外,必须合理处理WM_CTLCOLORSTATIC消息,确保背景图片的展示不会受到其他界面元素的干扰。 ```cppvoid CMyDialog::OnPaint(){ CPaintDC dc(this); // 生成设备上下文对象 CBitmap bitmap; bitmap.LoadBitmap(IDC_BITMAP_BACKGROUND); // 获取背景图片资源 CDC memDC; memDC.CreateCompatibleDC(&dc); CBitmap* pOldBitmap = m...
<think>好的,我现在需要帮助用户查找Oracle RAC集群中的心跳IP所在的节点。首先,用户的问题是关于如何查看心跳IP的位置,也就是确定哪些节点使用了哪些IP作为私网心跳网络。根据用户提供的引用内容,我需要结合这些信息来给出正确的步骤。 首先,我应该回忆Oracle RAC的基本架构。在RAC中,私网心跳用于节点间的通信,确保集群的稳定性。通常,私网心跳使用特定的网络接口,比如eth1或者类似的命名,如用户引用中提到的eth1和对应的IP地址192.168.94.12。这可能是一个私网IP段,用于节点之间的通信。 接下来,用户提供的引用[1]提到了查看各节点的公网和私网IP信息的方法,可能涉及到某些命令或者工具。引用[2]和[3]讨论了心跳的要求,特别是使用交叉线缆可能不被支持,所以用户可能需要确认网络配置是否符合Oracle的要求。引用[4]提到了集群的关闭和启动命令,但可能与当前问题关联不大,暂时可以不考虑。 我需要确定如何通过命令行工具来查看私网IP,即心跳IP所在的节点。常见的Oracle RAC中,可以使用crsctl命令或者oifcfg来查看网络配置。例如,oifcfg getif可以列出所有网络接口的信息,包括私网和公网。另外,用户提到在引用[1]中的例子中,eth1对应的是私网IP,可能用于心跳,所以需要指导用户如何运行这些命令来获取信息。 另外,节点的主机名和对应的IP地址可以通过操作系统的命令来查看,比如ifconfig或者ip addr show,这样用户可以在每个节点上执行这些命令,确认哪些接口属于私网网络。需要提醒用户,私网心跳通常配置在独立的网络上,确保网络延迟低且稳定,避免使用公网接口。 可能还需要检查集群的日志或使用cluvfy工具来验证网络配置是否正确。但用户的问题主要是如何查看现有的心跳IP所在的节点,因此重点应放在如何获取当前的网络配置信息。 总结步骤应该是:首先使用oifcfg getif查看集群的网络接口配置,确定私网接口名称和IP段;然后在每个节点上使用系统命令(如ifconfig)查看该接口的IP地址,从而确定各个节点的心跳IP位置。同时,可以检查OCR(Oracle Cluster Registry)中的信息,或者通过crsctl命令获取集群资源的状态。 需要注意用户可能对Oracle的命令不熟悉,需要给出具体的命令示例,比如“oifcfg getif -global”来列出所有接口,并解释输出中的内容,如类型为cluster_interconnect的接口即为心跳网络。此外,确保用户理解需要以grid用户或具有适当权限的用户执行这些命令。 最后,可能还需要提醒用户关于心跳网络的最佳实践,比如确保使用交换机而非交叉线缆,避免网络问题,如引用[3]中提到的Oracle不支持交叉线缆,所以用户需要确认网络设备符合要求。</think>在Oracle RAC集群中,私网心跳IP的节点位置可通过以下步骤查看: --- ### **步骤1:使用`oifcfg`命令查看网络配置** 运行以下命令获取集群网络接口配置,需以**grid用户**执行: ```bash $ oifcfg getif -global ``` 输出示例: ``` eth0 192.168.1.0 global public eth1 192.168.94.0 global cluster_interconnect ``` - **`cluster_interconnect`**类型接口即为私网心跳网络[^1][^2]; - 示例中`eth1`为心跳接口,对应网段`192.168.94.0`。 --- ### **步骤2:通过操作系统命令验证节点IP** 在每个节点上执行系统命令,确认心跳接口的实际IP: ```bash $ ifconfig eth1 # Linux 或 $ ip addr show eth1 ``` 输出示例: ``` eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.94.12 netmask 255.255.255.0 broadcast 192.168.94.255 ``` - 此处`192.168.94.12`为当前节点的心跳IP[^1]。 --- ### **步骤3:检查OCR中的集群配置** 通过`crsctl`命令查看集群资源状态: ```bash $ crsctl status resource -t -w "NAME co ora.network" ``` 输出中包含心跳网络资源状态,确认各节点心跳接口在线情况[^4]。 --- ### **关键说明** 1. 私网心跳需使用独立物理网卡,避免与公网混用; 2. Oracle官方建议通过交换机连接心跳网络,不支持直连交叉线[^3]; 3. 心跳丢失超过`misscount`阈值(默认30秒)会导致节点重启。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值