现在的位置: 首页 > 综合 > 正文

客户端连接RAC只连接OPEN数据库,不连接MOUNT数据库;解决方案

2013年04月08日 ⁄ 综合 ⁄ 共 2581字 ⁄ 字号 评论关闭

客户端连接RAC只连接OPEN数据库,不连接MOUNT数据库;解决方案

解决方案:

Failover 只连接open,拒绝mount:使用Service-Side TAF解决

 

Oracle Rac Failover 可以分为3种:

1. Client-Side Connect time Failover

2. TAF

3. Service-Side TAF

 

环境:oracle 11.2.0.1 rac on redhat 5.5

目前数据库节点状态

SQL> select status from gv$instance;

STATUS

------------

OPEN

MOUNTED

 

1. Client-Side Connect time Failover

RAC_client =

  (DESCRIPTION =

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

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

     (LOAD_BALANCE=YES)

     (CONNECT_DATA=

     (SERVER=DEDICATED)

     (SERVICE_NAME=RACDB)

      )    

)   

[oracle@dou_rac1 admin]$ sqlplus xiaoyu/oracle@rac_client--(连接到mount节点上)

SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 26 16:52:27 2013

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

ERROR:

ORA-01033: ORACLE 正在初始化或关闭 Process

ID: 0

Session ID: 0 Serial number: 0

 

2. TAF

rac_taf =

    (DESCRIPTION =

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

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

    (LOAD_BALANCE = yes)

    (CONNECT_DATA =

    (SERVER = DEDICATED)

    (SERVICE_NAME = racdb_taf)

    (FAILOVER_MODE =

    (TYPE = SELECT)

    (METHOD = BASIC)

    )

    )

)

[oracle@dou_rac1 admin]$ sqlplus xiaoyu/oracle@rac_taf--(连接到mount节点上)

SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 26 16:53:01 2013

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

ERROR:

ORA-01033: ORACLE 正在初始化或关闭 Process

ID: 0

Session ID: 0 Serial number: 0

Enter user-name:

 

3. Service-Side TAF

RAC_server =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = dou_rac-scan)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = racdb_taf)--使用service-side TAF修改后的service_name

    )

  )

SQL> show parameter service

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

service_names                        string     
racdb_taf

[oracle@dou_rac1 admin]$ srvctl config service -d racdb

服务名: racdb_taf

服务已启用

服务器池: racdb_racdb_taf

基数: 2

断开连接: 假

服务角色: PRIMARY

管理策略: AUTOMATIC

DTP 事务处理: 假

AQ HA 通知: 假

故障转移类型: SELECT

故障转移方法: BASIC

TAF 故障转移重试次数: 180

TAF 故障转移延迟: 2

连接负载平衡目标: LONG

运行时负载平衡目标: NONE

TAF 策略规范: BASIC

首选实例: racdb1,racdb2

可用实例:

[oracle@dou_rac1 admin]$ sqlplus xiaoyu/oracle@rac_server--(连接到open节点上)

SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 26 16:53:51 2013

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

SQL>

可以成功登录数据库

 

总结:

Service-Side TAF的功能。可以保证客户端连接的节点均为open状态的。

 

感谢 Travel!!  Travel原创技术博客: http://www.traveldba.com/

 

关于更详细的RAC Failover请看http://blog.csdn.net/tianlesoftware/article/details/5340788

 

 

抱歉!评论已关闭.