在RAC的Oracle Net配置中有三种模式,这里记录一下:

1、Connect-time Failover方式;

只有一个service,会尝试第一个node,然后尝试另外的node

可以failover,不过balance需手工

当一个node发生故障时,该node上的事务丢失,会话丢失,自动重连。

如下的例子:

imall =

(DESCRIPTION=

(ADDRESS_LIST=

(LOAD_BALANCE=OFF)

(FAILOVER=ON)

(ADDRESS=(PROTOCOL=TCP)(HOST=imall1)(PORT=1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=imall2)(PORT=1521)))

(CONNECT_DATA=

(SERVICE_NAME=imall)

)

)

2、Load Balancing方式;

[@more@]

只有一个service,Oracle Net会尝试其中任意一个node,做到balance

可以failover,不过balance需手工

当一个node发生故障时,同样该node上的事务丢失,会话丢失。

如下的例子:

imall =

(DESCRIPTION=

(ADDRESS_LIST=

(LOAD_BALANCE=ON)

(FAILOVER=OFF)

(ADDRESS=(PROTOCOL=TCP)(HOST=imall1-vip)(PORT=1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=imall2-vip)(PORT=1521)))

(CONNECT_DATA=

(SERVICE_NAME=imall)

)

)

3、TAF方式(Transparent Application Failover);

这种方式的特性有:Client/server connection、User session state、OCI programs、Java thick drivers (OCI drivers)、Sql*plus和Active cursors (select statements) that have begun to return results

但是这些场景不能做到failover:Active update transactions、 PL/SQL procedure states、PL/SQL server-side package variables 、 alter session statements、Server side program variables、Uncommitted transactions

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐