设为首页 收藏本站
查看: 734|回复: 0

[经验分享] Oracle RAC 连接到指定实例

[复制链接]

尚未签到

发表于 2018-9-14 09:42:26 | 显示全部楼层 |阅读模式
  在某些特定的情形下,有时候需要从客户端连接到RAC中指定的实例,而不是由客户端Load_balance来动态选择或者是通过服务器端的监听器根据负载情形来转发。对此我们可以通过为tnsnames.ora中特定的网络服务名添加instance_name子项,或者是单独建立一个指向所需实例的网络服务名,下面描述这两种情形。
  一、测试环境
  -->Oracle 版本
  SQL> select * from v$version where rownum  -->OS 版本
  SQL> ho cat /etc/issue
  Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l).
  -->RAC 相关信息
  SQL> ho /users/oracle/crs_stat.sh
  Resource name                                Target     State
  --------------                                ------     -----
  ora.GOBO4.GOBO4A.inst                         ONLINE     ONLINE on bo2dbp
  ora.GOBO4.GOBO4B.inst                         ONLINE     ONLINE on bo2dbs
  ora.GOBO4.db                                  ONLINE     ONLINE on bo2dbp
  ora.bo2dbp.ASM1.asm                           ONLINE     ONLINE on bo2dbp
  ora.bo2dbp.LISTENER_BO2DBP.lsnr               ONLINE     ONLINE on bo2dbp
  ora.bo2dbp.gsd                                ONLINE     ONLINE on bo2dbp
  ora.bo2dbp.ons                                ONLINE     ONLINE on bo2dbp
  ora.bo2dbp.vip                                ONLINE     ONLINE on bo2dbp
  ora.bo2dbs.ASM2.asm                           ONLINE     ONLINE on bo2dbs
  ora.bo2dbs.LISTENER_BO2DBS.lsnr               ONLINE     ONLINE on bo2dbs
  ora.bo2dbs.gsd                                ONLINE     ONLINE on bo2dbs
  ora.bo2dbs.ons                                ONLINE     ONLINE on bo2dbs
  ora.bo2dbs.vip                                ONLINE     ONLINE on bo2dbs
  -->实例GOBO4A上的listener参数
  SQL> show parameter instance_name
  NAME                                 TYPE        VALUE
  ------------------------------------ ----------- ------------------------------
  instance_name                        string      GOBO4A
  SQL> show parameter listener
  NAME                                 TYPE        VALUE
  ------------------------------------ ----------- ------------------------------
  local_listener                       string
  remote_listener                      string      remote_lsnr_gobo4
  -->实例GOBO4B上的listener参数
  SQL> show parameter instance_name
  NAME                                 TYPE        VALUE
  ------------------------------------ ----------- ------------------------------
  instance_name                        string      GOBO4B
  SQL> show parameter listener
  NAME                                 TYPE        VALUE
  ------------------------------------ ----------- ------------------------------
  local_listener                       string
  remote_listener                      string      remote_lsnr_gobo4
  -->服务器端的tnsnames.ora
  SQL> ho more $ORACLE_HOME/network/admin/tnsnames.ora
  # tnsnames.ora Network Configuration File: /u01/oracle/db/network/admin/tnsnames.ora
  # Generated by Oracle configuration tools.
  remote_lsnr_gobo4 =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521))
  )
  -->客户端的tnsnames.ora(客户端为suse 10)
  oracle@SZDB:~> tail -10 $ORACLE_HOME/network/admin/tnsnames.ora
  GOBO4 =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521))
  (LOAD_BALANCE = yes)
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = GOBO4)
  )
  )
  二、测试登陆到指定实例
  1、使用多ip登陆网络服务时,需要增加instance_name项
  --为GOBO4网络服务名添加instance_name项,修改之后的情形如下
  GOBO4 =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521))
  (LOAD_BALANCE = yes)
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = GOBO4)
  (INSTANCE_NAME=GOBO4B)  #此项为新增的项
  )
  )
  oracle@SZDB:~> more ./silent_login.sh
  #!/bin/bash
  sqlplus -S system/oracle@${1}  !!
  ./silent_login.sh GOBO4
  INSTANCE_NAME
  ----------------
  GOBO4B
  oracle@SZDB:~> !!
  ./silent_login.sh GOBO4
  INSTANCE_NAME
  ----------------
  GOBO4B
  2、为各个instance建立单独的网络连接服务名
  --如下,将下面的网络服务名添加到客户端的tnsnames.ora中
  oracle@SZDB:~> echo "
  > GOBO4A =
  >   (DESCRIPTION =
  >     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521))
  >     (CONNECT_DATA =
  >       (SERVER = DEDICATED)
  >       (SERVICE_NAME = GOBO4)
  >       (INSTANCE_NAME = GOBO4A)
  >     )
  >   )">>$ORACLE_HOME/network/admin/tnsnames.ora
  oracle@SZDB:~> tnsping GOBO4A
  Used parameter files:
  Used TNSNAMES adapter to resolve the alias
  Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521))
  (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = GOBO4) (INSTANCE_NAME = GOBO4A)))
  OK (70 msec)
  oracle@SZDB:~> ./silent_login.sh GOBO4A
  INSTANCE_NAME
  ----------------
  GOBO4A
  oracle@SZDB:~> !!
  ./silent_login.sh GOBO4A
  INSTANCE_NAME
  ----------------
  GOBO4A
  oracle@SZDB:~> !!
  ./silent_login.sh GOBO4A
  INSTANCE_NAME
  ----------------
  GOBO4A
  三、总结
  1、在多ip服务的情形下,可以通过添加INSTANCE_NAME项来指向特定的实例
  2、可以为特定的实例单独建立一个网络服务名
  3、个人更倾向于使用单独的网络服务名来实现连接到指定的实例
  oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-581998-1-1.html 上篇帖子: Services in Oracle Database 10g-Oracle之路 下篇帖子: oracle update用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表