Oracle RAC主备模式配置的问题
现在我们已经安装了RAC有两个instance组成。
1. RAC1服务器上:
RACDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
(LOAD_BALANCE = on)
(FAILOVER = on)
)
(CONNECT_DATA =
(SERVICE_NAME = racdb)
(failover_mode =
(type = select)
(method = basic)
)
)
)
RACDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = racdb)
(INSTANCE_NAME = racdb1)
)
)
2. RAC2服务器上:
RACDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
(LOAD_BALANCE = on)
(FAILOVER = on)
)
(CONNECT_DATA =
(SERVICE_NAME = racdb)
(failover_mode =
(type = select)
(method = basic)
)
)
)
RACDB2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = racdb)
(INSTANCE_NAME = racdb2)
)
)
3. 在JNDI上我们是按照“Connect-Time Failover”的模式来配置的,想做成主备模式,比如以下主用101,只有101failed情况下才自动切换到102:
RACDB1_FAILOVER =
(DESCRIPTION=
(FAILOVER=on)
(LOAD_BALANCE=off)
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.101)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.102)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=RACDB)
(failover_mode =
(type = select)(method = basic)
)
)
)
按照这种配置模式的特点
One service(Tries one node,then the other node)
Used for failover
Balance is done manually
In the event of a failure(Transaction is lost;Session is lost; Reconnection occurs automatically)
load balance应该是按照先101,只有101失败才try102.
但是实际从数据库表sequence的生产来看,还是两个instance交替使用。
请问,这是为什么?还是有什么地方配置有问题?请高手指点!多谢!