zoukankan      html  css  js  c++  java
  • Oracle RAC客户端tnsnames.ora相关配置及测试

    1.Oracle RAC服务端/etc/hosts部分内容如下

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

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

    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
    jyzhao =
      (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 = jyzhao)
          (FAILOVER_MODE =
               (TYPE = session)
               (METHOD = basic)
               (RETRIES = 180)
               (DELAY = 5)  
          )
        )
      )
    

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

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

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

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

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

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

    4. 测试failover功能

    如下面的测试用例: 确定开始随机连接到的是实例2,然后杀掉实例2, 此时查询`select instance_name, status from v$instance;`,会报错ORA-25408, 再次查询,发现已经自动failover到实例1。
    C:Documents and SettingsAdministrator>sqlplus jingyu/jingyu@jyzhao
    
    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.
    
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management,
    OLAP,
    Data Mining and Real Application Testing options
    
    SQL> select instance_name, status from v$instance;
    
    INSTANCE_NAME    STATUS
    ---------------- ------------
    jyzhao2          OPEN
    
    
    SQL> select instance_name, status from v$instance;
    select instance_name, status from v$instance
    *
    ERROR at line 1:
    ORA-25408: can not safely replay call
    
    SQL> select instance_name, status from v$instance;
    
    INSTANCE_NAME    STATUS
    ---------------- ------------
    jyzhao1          OPEN
    
  • 相关阅读:
    PHP函数include include_once require和require_once的区别
    PHP替换回车换行的三种方法
    PHP获取绝对路径dirname(__FILE__)和__DIR__比较
    jQuery实现倒计时重新发送短信验证码功能示例
    js人民币转大写
    js前端数据验证JS工具
    安卓动画学习笔记
    ActivityNotFoundException: No Activity found to handle Intent
    Android笔记
    再次踩bug:遍历删除list(java.util.ConcurrentModificationException)
  • 原文地址:https://www.cnblogs.com/jyzhao/p/4683467.html
Copyright © 2011-2022 走看看