关于之前RAC的failover同事们都有一个猜想,failover需要重新连接
今天实践了一下
例如:
2 nodes RAC
rac1
rac2
tnsnames.ora
在cmd中打开sqlplus:
目前连接的是rac2
server中的状态:
然后断开rac2的电源:
看到rac2.vip已经调到rac1上面了,再看看一直打开的sqlplus窗口
事实证明是不需要断开重连,起码sqlplus不需要,具体的代码不知道
整个failover过程需要大概30秒
今天实践了一下
例如:
2 nodes RAC
rac1
rac2
tnsnames.ora
RAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.189.128.44)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.189.128.45)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rac)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
在cmd中打开sqlplus:
C:\Documents and Settings\guoyanxi>sqlplus system/manager1@rac
SQL*Plus: Release 10.1.0.2.0 - Production on 星期五 5月 21 08:52:17 2010
Copyright (c) 1982, 2004, Oracle. All rights reserved.
連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
rac2
目前连接的是rac2
server中的状态:
oracle@rac1: /home/oracle> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.rac.db application ONLINE ONLINE rac1
ora....c1.inst application ONLINE ONLINE rac1
ora....c2.inst application ONLINE ONLINE rac2
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
oracle@rac1: /home/oracle>
然后断开rac2的电源:
oracle@rac1: /home/oracle> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.rac.db application ONLINE OFFLINE
ora....c1.inst application ONLINE ONLINE rac1
ora....c2.inst application ONLINE OFFLINE
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....C2.lsnr application ONLINE OFFLINE
ora.rac2.gsd application ONLINE OFFLINE
ora.rac2.ons application ONLINE OFFLINE
ora.rac2.vip application ONLINE ONLINE rac2
oracle@rac1: /home/oracle> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.rac.db application ONLINE ONLINE rac1
ora....c1.inst application ONLINE ONLINE rac1
ora....c2.inst application ONLINE OFFLINE
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....C2.lsnr application ONLINE OFFLINE
ora.rac2.gsd application ONLINE OFFLINE
ora.rac2.ons application ONLINE OFFLINE
ora.rac2.vip application ONLINE ONLINE rac1
看到rac2.vip已经调到rac1上面了,再看看一直打开的sqlplus窗口
SQL> /
INSTANCE_NAME
--------------------------------
rac1
SQL> /
INSTANCE_NAME
--------------------------------
rac1
事实证明是不需要断开重连,起码sqlplus不需要,具体的代码不知道
整个failover过程需要大概30秒