现在配置如下:node-1[code]listener.ora:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/9.2.0)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = rac1)
      (ORACLE_HOME = /u01/app/oracle/product/9.2.0)
    )
  )LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
      )
    )
  )tnsnames.ora:
LISTENER_RAC1 =
   (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))RAC1 =
   (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
      (CONNECT_DATA =
         (SERVICE_NAME = rac)
         (INSTANCE_NAME = rac1)
      )
   )LISTENER_RAC2 =
   (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))RAC2 =
   (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
      (CONNECT_DATA =
         (SERVICE_NAME = rac)
         (INSTANCE_NAME = rac2)
      )
   )LISTENERS_RAC =
   (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
   )RAC =
   (DESCRIPTION =
      (LOAD_BALANCE = yes)
      (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
         (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
      )
      (CONNECT_DATA =
         (SERVER = DEDICATED)
         (SERVICE_NAME = rac)
      )
   )[/code]node-2[code]listener.ora:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/9.2.0)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = rac2)
      (ORACLE_HOME = /u01/app/oracle/product/9.2.0)
    )
  )LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
      )
    )
  )tnsnames.ora:
LISTENER_RAC1 =
   (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))RAC1 =
   (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
      (CONNECT_DATA =
         (SERVICE_NAME = rac)
         (INSTANCE_NAME = rac1)
      )
   )LISTENER_RAC2 =
   (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))RAC2 =
   (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
      (CONNECT_DATA =
         (SERVICE_NAME = rac)
         (INSTANCE_NAME = rac2)
      )
   )LISTENERS_RAC =
   (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
   )RAC =
   (DESCRIPTION =
      (LOAD_BALANCE = yes)
      (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
         (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
      )
      (CONNECT_DATA =
         (SERVER = DEDICATED)
         (SERVICE_NAME = rac)
      )
   )[/code]2个node的pfile中都加入了[code]rac1.local_listener = 'LISTENER_RAC1'
rac2.local_listener = 'LISTENER_RAC2'
*.remote_listener = 'LISTENERS_RAC'[/code]客户端tnsnames.ora[code]RAC =
   (DESCRIPTION =
      (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
         (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
      )
      (LOAD_BALANCE = ON)
      (FAILOVER = ON) 
      (CONNECT_DATA =
         (SERVER = DEDICATED)
         (SERVICE_NAME = rac)
         (FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC))
      )
   )[/code]现在在客户端用sqlplus连接, 查询instance_name一直是rac1, 请问哪里配置的不对~~, 要实现load balance 和 failover, 该如何配置, 万分感谢

解决方案 »

  1.   

    node-1
    listener.ora:
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /u01/app/oracle/product/9.2.0)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (SID_NAME = rac1)
          (ORACLE_HOME = /u01/app/oracle/product/9.2.0)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
          )
        )
      )tnsnames.ora:
    LISTENER_RAC1 =
       (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))RAC1 =
       (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
          (CONNECT_DATA =
             (SERVICE_NAME = rac)
             (INSTANCE_NAME = rac1)
          )
       )LISTENER_RAC2 =
       (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))RAC2 =
       (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
          (CONNECT_DATA =
             (SERVICE_NAME = rac)
             (INSTANCE_NAME = rac2)
          )
       )LISTENERS_RAC =
       (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
       )RAC =
       (DESCRIPTION =
          (LOAD_BALANCE = yes)
          (ADDRESS_LIST =
             (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
             (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
          )
          (CONNECT_DATA =
             (SERVER = DEDICATED)
             (SERVICE_NAME = rac)
          )
       )node-2 与node-1基本相同, 除了几处sid和host外
      

  2.   

    2个node的pfile中都加入了rac1.local_listener = 'LISTENER_RAC1'
    rac2.local_listener = 'LISTENER_RAC2'
    *.remote_listener = 'LISTENERS_RAC'客户端tnsnames.ora:
    RAC =
       (DESCRIPTION =
          (ADDRESS_LIST =
             (ADDRESS = (PROTOCOL = TCP)(HOST = node-1)(PORT = 1521))
             (ADDRESS = (PROTOCOL = TCP)(HOST = node-2)(PORT = 1521))
          )
          (LOAD_BALANCE = ON)
          (FAILOVER = ON) 
          (CONNECT_DATA =
             (SERVER = DEDICATED)
             (SERVICE_NAME = rac)
             (FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC))
          )
       )
      

  3.   

    这个是我以前在HP上做三节点的配置,你可以参考.rac1:
    SQL> show parameter listenerNAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    local_listener string LISTENER_RAC1
    mts_listener_address string
    mts_multiple_listeners boolean FALSE
    remote_listener string LISTENERS_RACrac2:SQL> show parameter listenerNAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    local_listener string LISTENER_RAC2
    mts_listener_address string
    mts_multiple_listeners boolean FALSE
    remote_listener string LISTENERS_RAC
    rac3:
    SQL> show parameter listenerNAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    local_listener string LISTENER_RAC3
    mts_listener_address string
    mts_multiple_listeners boolean FALSE
    remote_listener string LISTENERS_RAC
    tnsnames:rac1:
    # Generated by Oracle configuration tools.LISTENERS_RAC =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    )
    RAC2 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (INSTANCE_NAME = rac2)
    )
    )RAC3 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (INSTANCE_NAME = rac3)
    )
    )LISTENER_RAC1 =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    RAC1 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (INSTANCE_NAME = rac1)
    )
    )INST1_HTTP =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    )
    )RAC =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    (LOAD_BALANCE = yes)
    )
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    )
    )
    failover = 
    (DESCRIPTION = 
    (enable=broken) 
    (LOAD_BALANCE = yes)
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.81)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.82)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.83)(PORT = 1521)) 
    (CONNECT_DATA = 
    (SERVICE_NAME = rac)
    (failover_mode=(type=select)(method=basic)) 
    )
    )
    -----------------------------------------------------rac2:tnsnames
    # Generated by Oracle configuration tools.LISTENERS_RAC =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    )LISTENER_RAC2 =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    RAC2 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (INSTANCE_NAME = rac2)
    )
    )
    RAC3 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (INSTANCE_NAME = rac3)
    )
    )
    RAC1 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (INSTANCE_NAME = rac1)
    )
    )INST1_HTTP =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    )
    )RAC =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    (LOAD_BALANCE = yes)
    )
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    )
    )
    failover = 
    (DESCRIPTION = 
    (enable=broken) 
    (LOAD_BALANCE = yes) 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.81)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.82)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.83)(PORT = 1521)) 
    (CONNECT_DATA = 
    (SERVICE_NAME = rac)
    (failover_mode=(type=select)(method=basic)) 
    )
    )--------------------------------------------
    rac3:tnsnames.
    # Generated by Oracle configuration tools.LISTENERS_RAC =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    )LISTENER_RAC3 =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    RAC2 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (INSTANCE_NAME = rac2)
    )
    )
    RAC3 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (INSTANCE_NAME = rac3)
    )
    )
    RAC1 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (INSTANCE_NAME = rac1)
    )
    )INST1_HTTP =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    )
    )RAC =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    (LOAD_BALANCE = yes)
    )
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    )
    )
    failover =
    (DESCRIPTION =
    (enable=broken)
    (LOAD_BALANCE = yes)
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.81)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.82)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.83)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (failover_mode=(type=select)(method=basic))
    )
    )====================================================================listener.orarac1.# Generated by Oracle configuration tools.LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IBSSAPP)(PORT = 1521))
    )
    )
    )SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
    (PROGRAM = extproc)
    )
    (SID_DESC =
    (ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
    (SID_NAME = rac1)
    )
    )
    -------------------------------------------------------------rac2.# Generated by Oracle configuration tools.LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBASAPP)(PORT = 1521))
    )
    )
    )SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
    (PROGRAM = extproc)
    )
    (SID_DESC =
    (ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
    (SID_NAME = rac2)
    )
    )----------------------------------------------
    rac3.# Generated by Oracle configuration tools.LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = LBAS)(PORT = 1521))
    )
    )
    )SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
    (PROGRAM = extproc)
    )
    (SID_DESC =
    (ORACLE_HOME = /oracle/rac/oracle/ora9i/app/oracle/product/902)
    (SID_NAME = rac3)
    )
    )
    ==========================================================client:
    ractest =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.81)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.82)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.17.36.83)(PORT = 1521))
    )
    (LOAD_BALANCE = ON)
    (FAILOVER = ON)
    (CONNECT_DATA =
    (SERVICE_NAME = rac)
    (FAILOVER_METHOD =
    (TYPE = SESSION)
    (METHOD = BASIC)
    )
    )
    )
      

  4.   

    贴出你客户端的tnsnames.ora内容