ITPub博客

首页 > 数据库 > Oracle > 1. Client-Side Connect time Failover

1. Client-Side Connect time Failover

原创 Oracle 作者:西门吹牛 时间:2011-02-09 21:10:27 0 删除 编辑

实验目的和步骤
测试双节点RAC,在其中一个节点关闭的时候,新的连接自动连接到另一个节点
同时测试已经连接到的节点是否可以自动转移到另一个节点上面,答案是不会,因为性质决定的

测试的客户机 tnsnames.ora 内容如下,注意其中的ADDRESS有两个HOST,而且增加了一个参数LOAD_BALANCE = yes
曾经有人说还需要增加一个参数(FAILOVER = on),实际上不需要,因为这个参数默认就是ON

RACDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.201)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.202)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
)
)

之前已经建立了一个test2的用户,并赋予了DBA权限


步骤一,登录数据库
C:Documents and Settingsmaoji>sqlplus test2/test2@racdb

SQL*Plus: Release 10.2.0.1.0 - Production on ??? 11? 2 15:44:30 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.


Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
RACDB2

SQL>

应该是随机分配数据库连接,上面显示连接到NODE2的RACDB2数据库了


步骤二,关闭其中一个节点
因为上面连接到了 RACDB2 这个节点,所以我们就关闭RACDB2这个节点

SQL> conn / as sysdba
Connected.
SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
RACDB2

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>

步骤三,测试第一个连接是否还正常,结果是不正常

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
RACDB2

SQL> select instance_name from v$instance;
select instance_name from v$instance
*
第 1 行出现错误:
ORA-03113: 通信通道的文件结束


SQL> select * from tbl_test;
ERROR:
ORA-03114: 未连接到 ORALCE


SQL>

步骤四,测试新连接是否自动load balance,结论是成功了

C:Documents and Settingsmaoji>sqlplus test2/test2@racdb

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 11月 2 15:53:52 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
RACDB1

SQL>

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10771/viewspace-1045731/,如需转载,请注明出处,否则将追究法律责任。

下一篇: RAC 2. TAF
请登录后发表评论 登录
全部评论

注册时间:2013-06-13

  • 博文量
    18
  • 访问量
    123038