>데이터 베이스 >MySQL 튜토리얼 >Oracle RAC客户端tnsnames.ora相关配置及测试

Oracle RAC客户端tnsnames.ora相关配置及测试

WBOY
WBOY원래의
2016-06-07 15:10:361137검색

Oracle RAC客户端tnsnames.ora相关配置及测试

1.Oracle RAC服务端/etc/hosts部分内容如下
2.查看服务端的local_listener和remote_listener参数
3.客户端tnsnames.ora配置参考
3.1 10g的版本,监听配置方法如下
3.2 11g的版本,监听配置方法如下
3.3 业务分割,连接到实例1的业务
3.4 业务分割,连接到实例2的业务
4.测试failover功能

1. Oracle RAC服务端/etc/hosts部分内容如下
#public ip
172.16.7.112  jyracdb1
172.16.7.114  jyracdb2
#virtual ip
172.16.7.113  jyracdb1-vip
172.16.7.115  jyracdb2-vip
#scan ip(11g RAC 新特性)
172.16.7.120 jyracdb-scan

2. 查看服务端的local_listener和remote_listener参数

2.1 节点1 Oracle用户登录sqlplus / as sysdba
SQL> show parameter listener

NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
listener_networks                    string
local_listener                      string      (ADDRESS=(PROTOCOL=TCP)(HOST=
                                                172.16.7.113)(PORT=1521))
remote_listener                      string      jyracdb-scan:1521
SQL>

2.2 节点2 Oracle用户登录sqlplus / as sysdba
SQL> show parameter listener

NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
listener_networks                    string
local_listener                      string      (ADDRESS=(PROTOCOL=TCP)(HOST=
                                                172.16.7.115)(PORT=1521))
remote_listener                      string      jyracdb-scan:1521
SQL>

3. 客户端tnsnames.ora配置参考

3.1 10g的版本,监听配置方法如下

需要指定每一个节点的vip
linuxidc =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.7.113)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.7.115)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = linuxidc)
      (FAILOVER_MODE =
          (TYPE = session)
          (METHOD = basic)
          (RETRIES = 180)
          (DELAY = 5) 
      )
    )
  )

3.2 11g的版本,监听配置方法如下

11g引进scanIP的新特性,即只需要指定scanIP,不再需要指定vip,对于RAC增加节点不需要再重新配置所有客户端的tnsnames.ora。
当然不用scanIP,还用之前的vip也是可以的。
linuxidc_scan =
 (DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.7.120)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = linuxidc)
    (FAILOVER_MODE =
          (TYPE = session)
          (METHOD = basic)
          (RETRIES = 180)
          (DELAY = 5) 
    )
  )
 )

3.3 业务分割,连接到实例1的业务

当实例1正常时,固定连接到实例1:
linuxidc1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.7.113)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = linuxidc)
    )
  )

3.4 业务分割,连接到实例2的业务

当实例2正常时,,固定连接到实例2:
linuxidc2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.7.115)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = linuxidc)
    )
  )

4. 测试failover功能

如下面的测试用例:
确定开始随机连接到的是实例2,然后杀掉实例2,
此时查询select instance_name, status from v$instance;,会报错ORA-25408,
再次查询,发现已经自动failover到实例1。
C:\Documents and Settings\Administrator>sqlplus jingyu/jingyu@linuxidc

SQL*Plus: Release 11.2.0.1.0 Production on Tue Jul 28 11:04:13 2015

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.