Oracle RAC 连接到指定实例


在某些特定的情形下,有时候需要从客户端连接到RAC中指定的实例,而不是由客户端Load_balance来动态选择或者是通过服务器端的监听器根据负载情形来转发。对此我们可以通过为tnsnames.ora中特定的网络服务名添加instance_name子项,或者是单独建立一个指向所需实例的网络服务名,下面描述这两种情形。

一、测试环境

  1. -->Oracle 版本  
  2. SQL> select * from v$version where rownum<2; 
  3.  
  4. BANNER 
  5. ----------------------------------------------------------------  
  6. Oracle Database 10g Release 10.2.0.3.0 - 64bit Production 
  7.  
  8. -->OS 版本  
  9. SQL> ho cat /etc/issue 
  10.  
  11. Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l). 
  12.  
  13. -->RAC 相关信息  
  14. SQL> ho /users/oracle/crs_stat.sh 
  15.  Resource name                                Target     State               
  16. --------------                                ------     -----               
  17. ora.GOBO4.GOBO4A.inst                         ONLINE     ONLINE on bo2dbp   
  18. ora.GOBO4.GOBO4B.inst                         ONLINE     ONLINE on bo2dbs   
  19. ora.GOBO4.db                                  ONLINE     ONLINE on bo2dbp   
  20. ora.bo2dbp.ASM1.asm                           ONLINE     ONLINE on bo2dbp   
  21. ora.bo2dbp.LISTENER_BO2DBP.lsnr               ONLINE     ONLINE on bo2dbp   
  22. ora.bo2dbp.gsd                                ONLINE     ONLINE on bo2dbp   
  23. ora.bo2dbp.ons                                ONLINE     ONLINE on bo2dbp   
  24. ora.bo2dbp.vip                                ONLINE     ONLINE on bo2dbp   
  25. ora.bo2dbs.ASM2.asm                           ONLINE     ONLINE on bo2dbs   
  26. ora.bo2dbs.LISTENER_BO2DBS.lsnr               ONLINE     ONLINE on bo2dbs   
  27. ora.bo2dbs.gsd                                ONLINE     ONLINE on bo2dbs   
  28. ora.bo2dbs.ons                                ONLINE     ONLINE on bo2dbs   
  29. ora.bo2dbs.vip                                ONLINE     ONLINE on bo2dbs   
  30.  
  31. -->实例GOBO4A上的listener参数  
  32. SQL> show parameter instance_name 
  33.  
  34. NAME                                 TYPE        VALUE 
  35. ------------------------------------ ----------- ------------------------------  
  36. instance_name                        string      GOBO4A 
  37.  
  38. SQL> show parameter listener 
  39.  
  40. NAME                                 TYPE        VALUE 
  41. ------------------------------------ ----------- ------------------------------  
  42. local_listener                       string 
  43. remote_listener                      string      remote_lsnr_gobo4 
  44.  
  45. -->实例GOBO4B上的listener参数  
  46. SQL> show parameter instance_name 
  47.  
  48. NAME                                 TYPE        VALUE 
  49. ------------------------------------ ----------- ------------------------------  
  50. instance_name                        string      GOBO4B 
  51.  
  52. SQL> show parameter listener   
  53.  
  54. NAME                                 TYPE        VALUE 
  55. ------------------------------------ ----------- ------------------------------  
  56. local_listener                       string 
  57. remote_listener                      string      remote_lsnr_gobo4 
  58.  
  59. -->服务器端的tnsnames.ora  
  60. SQL> ho more $ORACLE_HOME/network/admin/tnsnames.ora 
  61. # tnsnames.ora Network Configuration File: /u01/oracle/db/network/admin/tnsnames.ora 
  62. # Generated by Oracle configuration tools. 
  63.  
  64. remote_lsnr_gobo4 = 
  65.   (ADDRESS_LIST = 
  66.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521)) 
  67.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521)) 
  68.   ) 
  69.  
  70. -->客户端的tnsnames.ora(客户端为suse 10)   
  71. oracle@SZDB:~> tail -10 $ORACLE_HOME/network/admin/tnsnames.ora 
  72. GOBO4 = 
  73.   (DESCRIPTION = 
  74.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521)) 
  75.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521)) 
  76.     (LOAD_BALANCE = yes) 
  77.     (CONNECT_DATA = 
  78.       (SERVER = DEDICATED) 
  79.       (SERVICE_NAME = GOBO4) 
  80.     ) 
  81.   ) 
  • 1
  • 2
  • 下一页

相关内容