如题.
譬如当时SQL PLUS或者OEM或者用户做的软件,当时正连接在RAC其中一台机器上,这时候,这台机器突然崩溃,按照RAC的设计思路,所有这些连接在故障机的SESSION,能够平滑的过渡到另外一台正常工作的机器上吗?也就是这些SQL PLUS或者OEM工具或者用户作的软件,不用重新连接,就可以继续使用吗?是不是当用户正在故障机上提交的事务而没来得及完成,会在被平滑移动到正常机后,会丢失掉??
多谢各位赐教!!!

解决方案 »

  1.   

    是的,RAC就是这样设计的,这就是为什么企业应用大多采用RAC的原因,而不是双机热备
      

  2.   

    我用OracleFailSafe,从一台转移到另一台的时候不会断掉session的。
      

  3.   

    oracle的文档是说会平滑移动,前提条件是客户端的tnsnames.ora中配置是正确的。但实际测试时是有一点问题——如果一个实例是正常关闭,在关闭过程中原先连接这个实例的会话正在执行SQL,那么会话会报错,然后如果会话再重新执行那个SQL,会话就会连接到另外仍然在工作的实例上;如果实例是异常崩溃或者是网络的问题,那么会话会等一段时间,待正常工作的实例检测到有实例崩溃且做了实例恢复后,会话就能重新连接到好的实例上,有时会话在重新连接到其他实例时会报个错。在RAC环境下,事务是不能从一个实例移动到另一个实例。
      

  4.   

    RAC就是这样设计的楼上说的也是oracle的解释
      

  5.   

    TAF是可以实现这一点的。不过在移动时,由于要通过超时判断原机器不可用,原有的连接会在若干分钟内没有响应。最终切换过去事务不会丢失,但是会等待几分钟。
      

  6.   

    假如你用到oracle 同部,你就不会发生这种情况了!事务直接转移到备用服务器上执行!