我们现在做一个项目,主机是三台alpha ES40小型机,操作系统是OpenVMS,组成的集群网络。数据库是oracle817 for Alpha OpenVMS。应用程序用Developer 2000 Form Build .硬变件、数据库和操作系统是另外一家公司做的,我们只做软件的设计与开发。
现在想要实现faileover功能,即实例一主机死了,程序自动切换到第二个主机的袖珍上继续执行。
那家公司做了一些实验,他们在tnsnames.ora文件中做了一些设置,然后用sql*plus连接到主机一上,运行一个select 语句,当这条命令正在运行时,将实例一shutdown abort,这时select自动连接到主机二上继续执行。然后他们说他们查了资料,sql*plus只能做select,其它的如insert update操作无法在sql*plus中实现faileover,其他的事情应该是我们在程序设计时做的了,也就是说,他们没事了,剩下的事是我们自己做的了。我们的程序设计当然得对数据进行insert 或update。
因为我对并行服务器不是很熟悉,所以想请教大家,是不是要我们来做剩下的事情,如果要做,那怎么做?不过我们认为他们在操作系统的集群和oracle 并行服务上应该有这些功能,我们不用做特殊的程序设计。
QQ:36149522 MAIL:[email protected]

解决方案 »

  1.   

    并行的数据库系统如ORACLE,他们之间对任务的分配是根据各自小型机的资源使用状况来动态分配任务的,如两台,一台如果比较忙,其他的任务会分配给另外一台,这种功能是数据库实现的。象你所说的应该是不可能的,如果一台当掉,另外一台会支持所有的数据业务,而且是无缝的接受。你的数据库是不是并行还是通过操作系统切换的互备,这是不一样的。
      

  2.   

    我们操作系统的并行的,有四个IP,其中一个是虚拟IP,连这个IP时可以连接到其中的一台主机,compaq公司的人来说,连接虚拟IP的用户可以采用轮寻,即第一个来了实际连到主机一,第二个来了实际连到主机二,第三个来了,实际连接主机三,再来了再从一开始,这是一种,更好的方法是采用负载均衡,即来了一个客户连接,集群系统自动给其连到一个负载相对较少的主机上,但这方面东西比较新,他们compaq中国公司的人也没做过,说有兴趣我们可以做,可现在这家公司的做法是来的全连主机一,只有主机一死掉了,才连主机二。我提想做轮寻的,他们就列了好多理由说这种做法比较好。集群系统我也不太熟悉,也请大家给点见解》
    我以上说的是网络的,如TCP连接,SOCKET连接,TELNET连接等,并不是oracle的,
    oracle的负载均衡我想还是要由集群软件加上oracle的并行服务器来做。
    谢谢大家的关心!
      

  3.   

    并行服务这好像是hrb_qiuyb(大森林)比较拿手的,
    可以多向他请教请教。
      

  4.   

    我觉得应该是可以实现的,ORACLE的RAC,STANDBY等等都是实现OPS功能的。
    自己这方面没有太多的经验,你可以到ITPUB或WWW.CNOUG.ORG上去问问。那里这方面的高手多呀。
      

  5.   

    你将数据库装为并行的,因该可以,数据库之间可以互相平衡负载,到http://www.itpub.net/,我常常到这里问问题
      

  6.   

    ORACLE的RAC并行版才可以做类似自动切换的集群功能.
      

  7.   

    那OPS呢,我们现在用的是oracle8
      

  8.   

    oracle8.1.7版本不可能实现增、删、改的无缝切换!
      

  9.   

    为什么oracle8.1.7版本不可能实现增、删、改的无缝切换!
    那有缝切换又怎么做呢?
    hthorizon(海天起点) 兄有相关资料吗!我想了解一下!谢谢
      

  10.   

    做成集群就可以了,它是热切换。对于你的程序来说根本不用做任何工作,这些工作都由集群功能实现了。
    你可以去查查alpha做集群的资料。