求教LINUX下的HA和ORACLE下的RAC的区别?
按小弟的理解,LINUX的HA或称“双机热备”,是两台机器装上同样的系统,配好后通过“心跳线”互相监测,数据存放在共享阵列库中,当主服务器出现问题时,负服务器会接管主服务器上的所有服务,而当主服务器恢复正常后,负服务器再交出所有服务。
而ORACLE下的RAC好像也是这样功能,它是先配好RAC,然后安装ORACAL,ORACLA直接认出有两台服务器,一个共享阵列,安装时也会安到两个服务器上;但不知道是不是主服务器出现问题时负服器也会接管主服务器上的服务,使现和HA一样的功能?小弟不才,请高手指点。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
不需要配置dns, 只需要在tnsnames.ora中进行配置.
rac一般不和普通的ha集群配合使用, 两者选一吧.
你做一遍rac就能了解差不多了
“RAC会使得所有节点都运行一个实例, 只要RAC所有节点中还有一个可以正常运行, 就可以对外提供服务. ”
这样就需要DNS轮换了吧,否则怎么实现两个节点同时可以访问,两个节点应该是相同的内容的。
另:如果必须使用HA,一般的是把数据库做成什么样子的?谢谢。
可以共存, 但没有实际意义.
HA的作用是保证一个服务在某一个节点上运行, 如果当前运行的节点出现问题,则自动切换到其他节点.
RAC会使得所有节点都运行一个实例, 只要RAC所有节点中还有一个可以正常运行, 就可以对外提供服务.
考虑rac和ha配合使用的情况,用ha保证rac实例的高可用, 当一个节点发生故障后, 将这个节点上的数据库企切换到其他节点. 在被切换的节点上运行2个数据库实例, 浪费了系统资源,可用性也没有提高
并且实施起来难度也比较大, rac instance使用的所有资源, 内网地址,外网地址,都必须切换.
不太明白?是说HA和RAC的共存没有实际使用价值?还是说HA和RAC根本就是无法共存的?或者说HA提供的就是单个结点的访问,而RAC提供的是两个或者多个结果的同时访问?
[ 本帖最后由 dgvri 于 2006-9-13 11:34 编辑 ]
No. 比如你在aix平台上安装oracle 9i rac
则需要先安装hacmp, 建立concurrent卷组, 再安装oracle
此时hacmp为oracle提供了对资源的共享访问以及其他集群服务,没有提供通常的HA功能
总的来说,整个系统只有oracle rac没有通常的”双机热备“
你也可以为oracle rac的instance做ha, 但是这样做没有意义。
噢,刚才也看了几个资料,发现有这样说的,先调试好HA,这样在安装ORCALE时它会自动认出“Cluster Node selection”(串结点选择),这样就算是HA+RAC 了,也就实现了系统的“双机热备”和ORACLE的双系统,不知道我这样理解对不对?
RAC是真实应用集群(Real Application Cluster)的缩写,它提供了高可用性(HA),但并不是“双机热备)
个人感觉,RAC和负载均衡集群有点类似。
噢,也就是说它并不像是HA那样,同时只有一个结点在工作,当主结点宕机时另外一个结点才工作?那这样的话RAC并不是“双机热备”的概念了?
oracle rac是一种比较特殊的集群解构, 在rac中数据库放在了共享存储设备上, 每个节点都会运行oracle实例, 这些实例同时对放置在存储设备上的数据库进行操作, 并通过cache fusion机制实现各实例之间缓存的同步, 访问任何节点都能得到相同的效果.
rac中一个实例挂起, 并不影响其他实例正常运行, 通过配置oracle net, rac中只要有一个节点工作正常, 客户就可以访问数据库
rac的节点可能会有多个. 而不止是2个.